2013-04-08 1 views
0

Моего HTML код выглядит что-то вродевыбрать все элементы класса в пределах элементов данного идентификатора

<div id="partA"> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeB"> blabla </div> 
</div> 

<div id="partB"> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeA"> blabla </div> 
    <div class="myClass typeB"> blabla </div> 
</div> 

Я хочу использовать JavaScript для подсчета количества элементов класса myClass, но только тот, который находится в пределах #partA ,
Когда я использую
$(".myClass").size()
Я получаю 8 как результат (он считает все элементы из обоих partA и partB).
Когда я использую
$(".myClass.typeA").size()
Я получаю 6 (он получает все myClass и typeA элементы из обеих частей)
Но когда я использую
$("#partA.myClass").size()
я 0.
По-видимому, эта команда javascript ищет только элементы, которые имеют как id=partA, так и class=myClass. Можно ли переформулировать эту команду, чтобы подсчитать количество классов myClass, которые содержатся в элементах с id=partA?

Большое спасибо!

+0

Рассмотрим чтение базового учебника JQuery, а также документацию. –

ответ

4

Вам не хватает места в одном из ваших селекторов. Попробуйте:

$("#partA .myClass").size() 

В качестве альтернативы вы можете сделать:

$('#partA').find('.myClass').length; 

Или

var partA = $('#partA'); 
$('.myClass', partA).length; 
+0

ой! правильно! как и CSS! как тупой от меня! (стыдно) Большое спасибо, он работает: D. (Примите его после того, как минное время закончится) – DanielX2010

+3

'size()' устарело ... использовать 'length' – charlietfl

+0

@ charlietfl oh, ok! Большое спасибо за совет! – DanielX2010