Есть два способа подсчитать элементы определенного типа в объекте jQuery. Какой метод вы используете, зависит от вашего определения in
.
.find()
.length - Найти всех потомков элемента (ов) DOM, представленных объектом jQuery, соответствующим шаблону. Можно также использовать контекст формы $(this, that)
, чтобы найти это в этом. Это реализовано с использованием .find()
.filter()
.length - Сокращение набора выбранных элементов DOM, представленных объектом jQuery, до включения только тех, которые соответствуют шаблону.
Если вы хотите найти потомков в объекте, используйте .find()
или контекст:
$o.find("div").length
или
$("div", $o).length
Например
<li>
<div></div>
<div></div>
</li>
Для вышеизложенного:
$("li").find("div").length // This is 2
$("div", "li").length // This is 2
$("li").filter("div").length // This is 0
Если вы хотите уменьшить количество выбранных элементов по правилу, используйте .filter ()
<div class="a"></div>
<div></div>
За вышеупомянутое
$("div").filter(".a").length // This is 1
$("div").find(".a").length // This is 0
$(".a", "div").length // This is 0
jsFiddle с указанием .find()
и .filter()
на работе.