我想用这行代码更改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");
}
})
如果有人可以提供帮助,那会很棒吗
答案 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")