如果包含图像作为子项,则设置data-attribute

时间:2013-09-20 13:20:26

标签: javascript jquery lightbox jquery-data

为了让我的灯箱工作,我试图在包含图像作为孩子的链接上设置数据属性“lightbox”。这似乎不太好用。我有fiddle

var links = $(".single .entry-content a");
links.each(function () {
    if ($(this).children("img").length > 0) {
        $(this).data("lightbox","image-gallery");
        console.log("test");
    }
});

控制台记录,但未设置data-attribute。我做错了什么?

2 个答案:

答案 0 :(得分:3)

尝试

$(".single .entry-content a:has(> img)").attr('data-lightbox', 'image-gallery')

演示:Fiddle

答案 1 :(得分:2)

jQuery的.data()函数不添加数据属性,而是使用它自己的内部存储机制。要实际更改属性,您需要使用attr()

$('.single .entry-content a').has('> img').attr('data-lightbox', 'image-gallery');