jQuery每个循环都有()

jQuery每个循环都有(),jquery,Jquery,我试图将一个类添加到一个包含图像的锚点,但不管怎样,它都会将该类添加到每个锚点: $(".entry-content a").each( function(i, link) { if ($(link).has("img")) { $(link).addClass("fancybox"); } }); 应该是 $(".entry-content a").has("img").addCl

我试图将一个类添加到一个包含图像的锚点,但不管怎样,它都会将该类添加到每个锚点:

    $(".entry-content a").each( function(i, link) {

        if ($(link).has("img")) {
            $(link).addClass("fancybox");                   
        }
    });
应该是

$(".entry-content a").has("img").addClass("fancybox");
返回一个jQuery对象,因此它总是真实的。它根据元素是否包含满足传递的Selector/set的元素来过滤给定的元素集

因此,要添加类,只需将
addClass()
链接到
.has()
返回的值即可

使用:has选择器

$(".entry-content a:has(img)").addClass("fancybox");