删除所有空p <p> </p>后检查div.html()长度

时间:2011-03-29 04:36:55

标签: jquery

我需要知道删除里面所有空p后div.html()的长度是什么

5 个答案:

答案 0 :(得分:4)

var div = $('div'),
    dHtml = div.html(),
    dHtml = dHtml.replace(/<p.*?>\s*<\/p>/g,'');

console.log(dHtml.length);

编辑:如果p标签有id,class或者其他东西,则更改RegEx。 (即<p class="foo"></p>

答案 1 :(得分:2)

如果您的意思是需要当时的元素数量,那么您可能正在寻找children()方法。这是非常不言自明的。我们还将使用(直观命名的)remove()方法。

所以,

// html

<div id="content">
    <p></p>
    <p></p>
    <img />
    <blockquote></blockquote>
</div>

        // javascript 

(function($){
    var $children = $('#content').children();
    var len = $children.length - $children.remove().length; 
})(jQuery);

答案 2 :(得分:1)

你可以div.html().length

删除空p标签:Remove elements with only a &nbsp; space using jQuery

$('#divid p').filter(function() {
        return $.trim($(this).text()) === '';
    }).remove();

以下是使用jQuery中的filter method的工作示例:

http://jsfiddle.net/MhMJc/1/

答案 3 :(得分:0)

这应该在删除后给出长度

$('div').remove('p').length;

答案 4 :(得分:0)

假设你想要从p内部删除p之后找到div的内容的长度。你可以做到

$('div').children().length

检查http://jsfiddle.net/Ad8nK/

处的工作示例