删除所有空p标签
我需要你的帮助与JavaScript正则表达式,再次。删除所有空p标签
有时我在DOM中有空的p标签,我将它们全部删除。
有的样子:
<p></p>
其他人一样:
<p> </p>
我觉得对于一个正则表达式的亲本是很蹩脚的,但我不擅长与它:(
所以在此先感谢:)
你不需要使用正则表达式来实现这么简单的事情。无论如何,你很可能需要迭代所有'p'元素。像这样的工作:
http://jsfiddle.net/mqchen/3pV2P/
$('p').each(function(index, item) {
if($.trim($(item).text()) === "") {
$(item).slideUp(); // $(item).remove();
}
});
我喜欢'如果(!$(item).text()。trim()){...}' –
工作正常,但在IE中不可用导致不知道修剪功能 –
@Yepp - 感谢您的抬头!我已经更新了示例以使用jQuery的'trim()'函数。 – mqchen
好吧,这看起来不错,但我现在如何删除所有比赛? –
请编辑您的问题,添加您还希望代码删除空节点 - 这并不清楚问题。也可能想补充说,你使用jQuery,因为这只是在标签到目前为止,我认为你没有使用它。 – pyvi
接受的答案是原因完全正确的,但因为海报问如何使用正则表达式,这里是一个版本(完整性如果你愿意),做只是:
$('p').map(function() {
if(/^[\s ]*$/.test($(this).text())) {
$(this).remove();
}
});
注意一个更好的正则表达式版本可以通过使用jQuery regex selector extension
这就是被achived一些有时帮助的方法
$('p:empty').hide()
p:empty { display: none; }
@Yepp我不明白这一点。你为什么要这样做,节省带宽? – Deeptechtons