如何在点击时使用jQuery进行条件交换。如果存在某个类,则将其交换为另一个类,例如交换类“A”到“B”。
<a href="#" id="clickMe"><span class="A"></span>link</a>
我一直在尝试这个,但它似乎不起作用:
$(this).closest("span").toggleClass("A,B");
我错过了什么?
答案 0 :(得分:2)
.closest()
上升到DOM树,而不是下来。
$(function ()
{
$('#clickMe').click(function ()
{
$(this).children('span').toggleClass('a b');
return false; // don't follow the link
});
});
.toggleClass()
期望多个类名用空格分隔,而不是用逗号分隔。
如果您只希望类交换发生一次:
$(function ()
{
$('#clickMe').click(function ()
{
var $span = $(this).children('span:first');
$span.toggleClass('a b', $span.hasClass('a'));
return false; // don't follow the link
});
});
答案 1 :(得分:-1)
$(this).closest("span").removeClass("A").addClass("B");
编辑:以上将强制将A类替换为B类。我认为您所寻找的是每次代码运行时在A和B之间切换,对吗?尝试:
$(this).closest("span").toggleClass("A B");