使用类'.item'jQuery计算变量中的元素

时间:2012-10-01 20:55:55

标签: javascript jquery variables

如何计算包含在变量

中的类项的元素

到目前为止http://jsfiddle.net/jGj4B/

var post = '<div/><div class="item"></div><div class="item"></div><div class="item"></div><div class="item"></div>';
alert($(post).find('.item').length);​ // i have tried .size() in place of .length

2 个答案:

答案 0 :(得分:6)

您希望filter代替find

$(post).filter('.item').length

find寻找后代元素,但没有。

如果你想要顶级项目和后代,你可以这样做:

$(post).find('.item').andSelf().filter(".item").length

虽然在另一个答案中建议将其包裹在一个范围内可能更容易理解。


编辑2013年7月19日: andSelf自v1.8起已被弃用,addBack应在其位置使用。

$(post).find('.item').addBack().filter(".item").length

答案 1 :(得分:0)

执行此操作的最佳方法是创建DOM对象,而不实际将其附加到DOM。类似的东西:

var post = '<div/><div class="item"></div><div class="item"></div><div class="item"></div><div class="item"></div>';

// Create a dummy element:
var temp = $("<span />");

// Populate the HTML of that element with the data from your post variable
$(temp).html(post);

// Search the element as you normally would (if it were attached to the DOM)
$(temp).find(".item").length; // equals 4