单击A链接两次

Era*_*ray 1 javascript jquery coding-style

我有这样的链接:

<a href="#" onclick="renkDegistir()" title="Yaz .......
Run Code Online (Sandbox Code Playgroud)

和JS代码:

function renkDegistir()
    {  
        $("#cont #main article").addClass("siyah-stil");
    }
Run Code Online (Sandbox Code Playgroud)

单击此链接时,siyah-stil类将添加到文章中.但我想这样做,如果链接点击第二次删除siyah-stil类.

综上所述 ,

on first click : addClass("siyah-stil");
on second click : removeClass("siyah-stil");
Run Code Online (Sandbox Code Playgroud)

Dav*_*mas 7

尝试使用toggleClass():

function renkDegistir()
{
    $("#cont #main article").toggleClass("siyah-stil");
}
Run Code Online (Sandbox Code Playgroud)

但我建议删除内联onclick属性,并切换到jQuery的click()事件处理程序:

$('a').click(
    function(){
        $("#cont #main article").toggleClass("siyah-stil");
    });
Run Code Online (Sandbox Code Playgroud)

编辑致电@Eray的评论(如下):

你能解释一下,为什么jQuery的click()函数比in-line onclick属性更好?

我更喜欢使用非内联代码的原因是它降低了更改onClick事件的复杂性; 因为它们在一个地方被改变,而不是必须onclick在每个a(或其他)元素中改变属性.不可否认,你可以通过简单地改变renkDegistir()函数实现这个好处,但最后你会得到为后代命名的函数,而不是函数的固有特性.

它还使其他人更容易接管,调整代码,并在出现错误时消除错误.