忽略jquery中的空<p> </p>标记

时间:2011-07-23 21:25:51

标签: jquery

我有jquery代码,它将<p>标记放在边框上,但对<p>标记也是如此,它们中没有文本或子节点。我想知道我是否可以忽略其中没有内容的<p>标签。在这里会考虑“没有”吗?

带空格的p标签也应该被忽略

9 个答案:

答案 0 :(得分:2)

尝试:

$("p:not(:empty)").css("border", "1px solid red");

You can try it here.

答案 1 :(得分:1)

试试这段代码:

$('p:not(:empty)')

答案 2 :(得分:1)

您可以使用:empty选择器查找没有子节点的元素(包括文本节点)。

$('p:not(:empty)')

请注意,任何文本内容 - 即使是一个空格 - 也会被选中。

答案 3 :(得分:1)

如果你想忽略空格,你也可以

$(document).ready(function() {
    $("p").filter(function(){
        return $.trim($(this).text()) !== '';
    }).addClass("class-with-border");
});

演示http://jsfiddle.net/gaby/nnVCF/1/

答案 4 :(得分:0)

您需要:empty选择器。像这样:

$("p:not(:empty)").css("border", "1px solid #F00");

答案 5 :(得分:0)

试试这个

$("p:not(:empty)");//It will select all the tags which hav children

答案 6 :(得分:0)

查看:not():empty选择器

$('p:not(:empty)')

答案 7 :(得分:0)

试试这个

$("p").each(function(index,value){
if($(value).html()!="")$(value).css({border:"1px solid black"});
});

答案 8 :(得分:0)

您可以尝试使用:empty选择器

$('p:empty').remove();