选择具有jQuery兄弟的特定类型的特定项目数

时间:2015-05-17 15:03:50

标签: jquery jquery-selectors

我希望在p中添加一个类,只要他们使用jQuery选择器严格控制p中的2个图片(不是单独的img或2个以上)。

<div class="wysiwyg">
   <p>
      <img class="addHere"/>
      <img class="addHere"/>
   </p>
   <p>
     <img/>
   </p>
</div>

现在,我有这样的事情:

jQuery(".wysiwyg:has(p:nth-of-type(2)) img").addClass('MyClass');

问题在于,如果p中只有1个img,它也会获得该类。你有个主意吗?谢谢!

1 个答案:

答案 0 :(得分:0)

有很多方法。一个可能是过滤它:

jQuery(".wysiwyg p").filter(function () {
    return $(this).find('img').length === 2;
}).find('img').addClass('MyClass');

或者:

jQuery(".wysiwyg p img").filter(function(){
    return $(this).siblings('img').length === 1;
}).addClass('MyClass');

或使用以下选择器(非常难以理解):

jQuery(".wysiwyg p:has(img:gt(0)):not(:has(img:gt(1))) img").addClass('MyClass');