jQuery 每个循环都带有 has()

标签 jquery

我试图将一个类添加到包含图像的 anchor - 但无论如何,它都会将该类添加到每个 anchor :

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

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

最佳答案

应该是

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

.has()返回一个 jQuery 对象,因此它始终是 true。它根据元素是否包含满足传递的选择器/集合的元素来过滤给定的元素集。

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

使用:has-selector

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

关于jQuery 每个循环都带有 has(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937141/

相关文章:

jquery - 第一个循环后跳过第一张幻灯片 jQuery 循环插件

javascript - JavaScript focus() 是否触发浏览器滚动水平条

javascript - 仅在浏览器关闭时触发功能

jquery - 未悬停时标注不会关闭

jquery - 如何让新插入的<tr>标签占据表格的总宽度

jquery - Focusout 功能否定点击提交

javascript - 检查是否有弹出窗口被打开

jquery - 使用 Bootstrap,我需要替换我的 div 的顺序

javascript - 需要将这两个JavaScript函数转换为jquery

javascript - .selectable() 从不同条件组中进行多项选择