我有这样的链接:
<a href="#" onclick="renkDegistir()" title="Yaz .......
和JS代码:
function renkDegistir()
{
$("#cont #main article").addClass("siyah-stil");
}
点击此链接时,siyah-stil类被添加到文章中。但我想这样做,如果链接点击第二次删除siyah-stil类。
总之,
on first click : addClass("siyah-stil");
on second click : removeClass("siyah-stil");
答案 0 :(得分:7)
尝试使用toggleClass()
:
function renkDegistir()
{
$("#cont #main article").toggleClass("siyah-stil");
}
但我建议删除内联onclick
属性,并切换到jQuery的click()
事件处理程序:
$('a').click(
function(){
$("#cont #main article").toggleClass("siyah-stil");
});
已编辑以解决@ Eray的评论(下文):
你能解释一下,为什么jQuery的
click()
函数[比]优于内联onclick
属性?
我更喜欢使用非内联代码的原因是它降低了更改onClick
事件的复杂性;因为它们在一个位置被更改,而不是必须更改每个onclick
(或其他)元素中的a
属性。不可否认,只需更改renkDegistir()
函数,就可以实现这一好处,但最终会得到为后代命名的函数,而不是函数的固有特性。
它还可以让其他人更容易接管,调整代码,并在出现错误时解决错误。
答案 1 :(得分:1)
toggleClass
正是如此。
答案 2 :(得分:1)
你走了: