我有一些段落包含文本集合和 <br>
标签。我想删除第一个 <br>
标签,如果它出现在任何段落中的文本之前。
像这样:
<p>
<br>
Lorem Ipsum is dummy text.
</p>
我想要这样的:
<p>
Lorem Ipsum is dummy text.
</p>
最佳答案
您可以检查第一个 childNode
是否是 <br>
并删除/隐藏如下:
$('p').each(function() {
var first = this.childNodes[0];
while((!first.tagName && $.trim(first.textContent) == '') || (first.tagName && first.tagName.toLowerCase() == 'br')) {
this.removeChild(first);
first = (this.childNodes && this.childNodes.length > 0) ? this.childNodes[0] : null;
}
});
演示: http://jsfiddle.net/makZ7/1/
更新了演示(也删除了任何前导空文本节点): http://jsfiddle.net/WQ9f3/5/
输入:
<p><br/>Hello<br/>World</p>
<p><br/>Hello<br/>World<br/>Hey!</p>
输出:
<p>Hello<br/>World</p>
<p>Hello<br/>World<br/>Hey!</p>
关于jquery - 仅当第一个 br 标 checkout 现在段落中文本之前时,如何删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21429788/