看看下面这段代码:
$(document).ready(function() {
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
});
这是一个简单的 jQuery 切换函数,它删除upvote-off
锚标记的类,然后将其替换为upvote-on
. 同样,当再次单击同一图标时,代码的第二部分会反转初始代码。锚标记的默认值为upvote-off
.
函数的第一部分运行:
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
但是,第二个不起作用:
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
但是,如果我注释掉第一部分,则第二部分有效。为什么是这样?
请注意,我没有使用.toggleClass()
,因为我想在以后添加一些更复杂的功能。