我有一个这样的链接:
<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");
最佳答案
尝试使用 toggleClass()
:
function renkDegistir()
{
$("#cont #main article").toggleClass("siyah-stil");
}
但我还建议删除内联 onclick
属性,并切换到 jQuery 的 click()
事件处理程序:
$('a').click(
function(){
$("#cont #main article").toggleClass("siyah-stil");
});
编辑以解决@Eray 的评论(如下):
Can you explain [to] me , why jQuery's
click()
function [is] better than in-lineonclick
attribute?
我更喜欢使用非内联代码的原因是它降低了更改 onClick
事件的复杂性;因为它们在 一个 位置发生了变化,而不是必须在每个 a
(或其他)元素中更改 onclick
属性。不可否认,您可以通过简单地更改 renkDegistir()
函数来实现该好处,但是您最终得到的是为后代命名的函数,而不是函数的固有性质。
这也让其他人更容易接管和调整您的代码,并在错误出现时消除它们。
关于javascript - 单击链接两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763669/