jQuery: если дети с определенным классом?

я задаюсь вопросом, как я могу определить, имеет ли ул. больше чем 2 детей и если существует два ребенка с двумя определенными классами в этой ул. …

if($(this).children().length > 2 && $(this).children('.section-title, .active')) {
    $(this).append('<li class="dots">&hellip;</li>');
}

???

6
задан matt 4 July 2010 в 21:11
поделиться

3 ответа

var $ul = $('ul');
if($ul.find("li").length > 2 && $ul.find('.active, .inactive').length  == 2) {
       alert('yes, it is this way');
}​

<ul>
  <li class="active">Whatever</li>
  <li class="inactive">Whatever</li>
  <li>Whatever</li>
  <li>Whatever</li>
</ul>​

Демо: http://jsfiddle.net/RtTSM/1/

8
ответ дан 10 December 2019 в 02:42
поделиться
var ulChildren = $("li", this);
if (ulChildren.length > 2 && $('li.section-title', ulChildren).length >= 1 && $('li.active', ulChildren).length >= 1)

При этом будут проверены следующие правила:

  1. Под элементом ul находится более двух элементов li
  2. Есть хотя бы один li с классом section-title
  3. Есть хотя бы один li с классом active
1
ответ дан 10 December 2019 в 02:42
поделиться
var ul = $('#ul_id');
if ($('.class1, .class2', ul).size()>2)

вам не нужно проверять первое условие (имеет более 2 детей), поскольку это условие "AND", и если ваше второе условие удовлетворяет, то первое условие тривиально.

James Lin

guanfenglin@gmail.com

0
ответ дан 10 December 2019 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: