使用数据属性切换类
我正在使用Data属性来获取jQuery中的元素,如下所示
Toggle Me
JQuery是
$("a.toggleArrow").off().on("click", function () { $("span.arrow").each(function () { var dataTarget = $(this).data("target"); if (dataTarget == "tgrt1") { dataTarget.toggleClass("collapse expand"); } }); });
我们可以使用这种方式,但它似乎不起作用?
使用$(this)
来引用each
元素中的当前元素。 dataTarget
是一个字符串,你不能在它dataTarget.toggleClass("collapse expand");
调用jQuery方法dataTarget.toggleClass("collapse expand");
if ($(this).data('target') == 'tgrt1') { $(this).toggleClass("collapse expand"); //^^^^^ }
无需循环,使用属性值选择器选择具有箭头类和data-target
所有元素作为
tgrt1
。
$("a.toggleArrow").off().on("click", function() { $("span.arrow[data-target='tgrt1']").toggleClass("collapse expand"); });
dataTarget
变量包含字符串。 你不能在字符串上使用jQuery函数。
dataTarget.toggleClass("collapse expand");
你需要替换
$(this).toggleClass("collapse expand");