我有一个事件监听器,我试图在一个类(正在工作)和一个数据选择属性true / false(不是)之间切换。我将div class =“dice”的数据选择属性默认设置为false。
game.selection = function() {
$(".dice").on("click", function() {
$(this).toggle(function () {
$(this).attr('data-selection', true);
});
$(this).toggleClass("active");
});
};
答案 0 :(得分:1)
替换:
$(this).toggle(function () {
$(this).attr('data-selection', true);
});
by:
$(this).attr('data-selection', ($(this).attr('data-selection') == "false" ? true : false));
答案 1 :(得分:0)
答案 2 :(得分:0)
当您将两个参数传递给.attr(attributeName,value)
时,第二个参数将设置该值。您可以编写自定义扩展名,类似于toggleClass
来有条件地添加或.removeAttr()
,如下所示:
(function($) {
$.fn.toggleAttr = function(attributeName, state) {
return this.each(function() {
if (state) {
$(this).attr(attributeName,"")
} else {
$(this).removeAttr(attributeName)
}
});
};
}(jQuery));
然后这样使用:
$(".class").toggleAttr("boolAt", false);