删除所有空的p-Tags

时间:2011-08-05 08:29:11

标签: javascript jquery regex

我再次需要你在Javascript中使用正则表达式的帮助。

有时我在DOM中有空的p-Tags,我会将它们全部删除。

有些看起来像:

<p></p>

其他人喜欢:

<p> </p>

我认为对于一个正则表达式专业人士来说这是非常蹩脚的,但我对此并不擅长:(

所以提前谢谢:)

4 个答案:

答案 0 :(得分:9)

您不需要使用正则表达式来完成这么简单的事情。最有可能你需要遍历所有'p'元素。这样的事情有效:

http://jsfiddle.net/mqchen/3pV2P/

$('p').each(function(index, item) {
    if($.trim($(item).text()) === "") {
        $(item).slideUp(); // $(item).remove();
    }
});

答案 1 :(得分:3)

这是一个非常基本的正则表达式:

<p>\s*<\/p>

这里有simple RegEx Tester for Firefox,可能在将来帮助你。我用了很多。

答案 2 :(得分:2)

这种方法有时会有所帮助

$('p:empty').hide()
p:empty { display: none; } 

答案 3 :(得分:1)

接受的答案当然是完全正确的,但由于海报询问如何使用正则表达式,这里有一个正则表达式版本(如果你愿意的话,完整性)就是这样:

$('p').map(function() {
   if( /^[\s ]*$/.test($(this).text()) ) {
      $(this).remove();
   }    
});

注意,使用jQuery regex selector extension

可以实现更好的正则表达式版本