javascript - 单击链接两次

标签 javascript jquery coding-style

我有一个这样的链接:

<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-line onclick attribute?

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

这也让其他人更容易接管和调整您的代码,并在错误出现时消除它们。

关于javascript - 单击链接两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763669/

相关文章:

javascript - 在 JSX 中使用 For 循环

javascript - 使用 jQuery slideToggle 在主列表下方扩展水平嵌套列表?

javascript - Jquery将html设置id附加到变量

Javascript 检查地址路径链接是否可用

javascript - 我正在尝试让表单验证与 Angular 向导一起使用

javascript - 如何通过使用 jQuery 调整 div 的大小来调整 div 的字体大小?

javascript - 如何用json数据动态构造html标签属性?

performance - 哪种迭代构造更适合在 Scala 中使用?

coding-style - 学习正确的编程风格?

Python:用首字母缩略词命名