Select 与 jQuery 兄弟的特定类型的特定数量的项目
Select a specific number of items of a specific type which are brothers with jQuery
我希望将 class 添加到 p 中的图片,前提是 p 中的图片严格为 2 张(不是单独的 img 或超过 2 张),并带有 jQuery 选择器。
<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,它也会得到 class。你有想法吗?谢谢!
方法有很多种。一种可能是过滤它:
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');
我希望将 class 添加到 p 中的图片,前提是 p 中的图片严格为 2 张(不是单独的 img 或超过 2 张),并带有 jQuery 选择器。
<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,它也会得到 class。你有想法吗?谢谢!
方法有很多种。一种可能是过滤它:
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');