jquery:如果孩子有特定班级?

时间:2010-07-04 20:57:26

标签: jquery

我想知道如何确定ul是否有超过2个孩子,以及是否有两个孩子在这个ul中有两个特定的类......

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

???

3 个答案:

答案 0 :(得分:8)

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/

答案 1 :(得分:1)

var ulChildren = $("li", this);
if (ulChildren.length > 2 && $('li.section-title', ulChildren).length >= 1 && $('li.active', ulChildren).length >= 1)

这将检查以下规则:

  1. ul
  2. 下有两个以上的li元素
  3. 至少有一个li属于section-title
  4. 至少有一个具有活跃类别的li

答案 2 :(得分:0)

var ul = $('#ul_id');
if ($('.class1, .class2', ul).size()>2)

你不需要测试第一个条件(有超过2个孩子),因为它是一个“AND”条件,如果你的第二个条件满足,第一个条件是微不足道的。

詹姆斯林

guanfenglin@gmail.com