无法更改fancyBox 3数据属性

时间:2018-03-16 14:40:55

标签: jquery fancybox

我想用这行代码更改fancybox项的数据属性。我正在使用fancyBox 3.由于某种原因,它不会让我更改数据属性。我检查了响应的候选人,即hide()

$("#line-up .interactive .btns .btn").click(function(e){

    // If has not class active
    if (!$(this).hasClass("active"))
    {
        // Filter
        e.preventDefault();
        $target = $(this).data("id");
        $("#line-up .interactive .btns .btn").removeClass("active");
        $(this).addClass("active");

        // Select the items and do action
        $("#line-up .artists .item").removeClass("active");
        $("#line-up .artists .item[data-id=" + $target + "]").addClass("active");

        // Change fancybox data
        $("#line-up .artists .item.active .artist").data("fancybox", "single");

    } else {

        // Reset
        $(this).removeClass("active");
        $("#line-up .artists .item").addClass("active");

        // Change fancybox data
        $("#line-up .artists .item .artist").data("fancybox", "gallery");
    }
})

如果有人可以提供帮助,那会很棒吗

2 个答案:

答案 0 :(得分:1)

尝试

$("#line-up .artists .item .artist")
    .data("fancybox", "gallery")
    .attr('data-fancybox', 'gallery');

正如Pete所说,.data只是不会改变您的HTML,但.attr

告诉我它是怎么回事

答案 1 :(得分:1)

尝试使用data-fancybox方法设置attr()属性,例如.attr("data-fancybox", "gallery")