And*_*rew 3 html javascript regex jquery jquery-1.4
我正在寻找一些关于使用 javascript 或 jquery 删除尾随 html < br /> 标记的最有效方法的想法。
规则:
- 前面和后面的 br 必须去掉。
- 它必须删除非关闭和自关闭 br 标签。
- 文本内容中的所有 br 必须保持不变。
HTML:
<div class="generatedContent">
<br>My awesome content.
<br><br>Some More awesome content.
<br>
<br>
<br>I still need the content written here<br/>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
Run Code Online (Sandbox Code Playgroud)
期望的输出:
<div class="generatedContent">
My awesome content.
<br><br>Some More awesome content.
<br>
<br>
<br>I still need the content written here
</div>
Run Code Online (Sandbox Code Playgroud)
无法理解为什么您想为此使用正则表达式,就像大多数答案一样。在这里使用 DOM 方法很简单:
function isBrOrWhitespace(node) {
return node && ( (node.nodeType == 1 && node.nodeName.toLowerCase() == "br") ||
(node.nodeType == 3 && /^\s*$/.test(node.nodeValue) ) );
}
function trimBrs(node) {
while ( isBrOrWhitespace(node.firstChild) ) {
node.removeChild(node.firstChild);
}
while ( isBrOrWhitespace(node.lastChild) ) {
node.removeChild(node.lastChild);
}
}
$(".generatedContent").each( function() {
trimBrs(this);
} );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2218 次 |
| 最近记录: |