Класс jQuery в селекторе классов
<div class="outer">
<div class="inner"></div>
</div>
как найти внутренний div здесь?
$container.find('.outer .inner')
просто ищет div с class="outer inner"
, это правильно?
поэтому я попробовал
$container.find('.outer > .inner')
но это, похоже, не работает.
Edit:
Я знаю, что его легко найти с чем-то вроде
$container.find('.outer').find('.inner')
но я ищу синтаксис синтаксиса, который лучше читает imho.
Ответы
Ответ 1
просто будет искать div с class= "внешним внутренним", верно ли это?
Нет, '.outer .inner'
будет искать все элементы с классом .inner, которые также имеют элемент с классом .outer как предок. '.outer.inner'
(без пробела) даст результаты, о которых вы думаете.
'.outer > .inner'
будет искать непосредственные дочерние элементы элемента с классом .outer для элементов с классом .inner.
Оба '.outer .inner'
и '.outer > .inner'
должны работать для вашего примера, хотя селекторы принципиально разные, и вы должны быть осторожны в этом.
Ответ 2
Для этого html:
<div class="outer">
<div class="inner"></div>
</div>
Этот селектор должен работать:
$('.outer > .inner')