3

変数に含まれているクラスアイテムで要素をカウントするにはどうすればよいですか?

これまでのところ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
4

2 に答える 2

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
于 2012-10-01T21:17:43.523 に答える
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
于 2012-10-01T21:10:43.450 に答える