javascript - 单击链接不起作用时添加类(class)

标签 javascript jquery function

它删除了该类,但没有添加该类,我无法使用 .click() 函数,它需要是 onclick=""

<li class="selected"><a href="javascript:void(0);" onclick="myfunction(x,y,x)">Click me</a></li>
<li><a href="javascript:void(0);" onclick="myfunction(x,y,z)">Click me</a></li>

function myfunction(a,b,c){
    $('ul li.selected').removeClass('selected').addClass('none');
    $(this).closest('li').addClass('selected');
}

最佳答案

您已经在使用 jQuery,因此只需使用 jQuery 来处理所有事件。

添加此代码;

$(function(){

    // bind click event to your <a> tags
    $('a').click(function(e){
        // prevent the default behaviour of your links
        e.preventDefault();
        // remove the class from all li's
        $('li').removeClass('selected');
        // add selected to the clicked a's parent li
        $(this).parent('li').addClass('selected');
    });

});

然后让你的 html 远离 JavaScript

<li class="selected">
    <a href="#">Click me</a>
</li>
<li>
    <a href="#">Click me</a>
</li>

附注

如果你想放入 PHP,那么你可以放入类似的内容;

// check out my 1337 php coding skillz!
<a href="#" data-foobar="<?php echo something ?>">Click Me</a>

然后使用 jQuery 在 jQuery 中访问它

$(this).data('foobar');

pps 抱歉,我的 php 编码技术很垃圾!

关于javascript - 单击链接不起作用时添加类(class),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18389308/

相关文章:

javascript - 如何将 $.getScript 与 ajax 内容一起使用?

Javascript oninput : How to prevent firing on blur (mobile)?

javascript - D3 瞄准/控制特定弧

c - 在 C 中的数据类型之前使用宏

c - 如何更改 C 函数中传递给函数的指针所指向的内容?

javascript - 有没有办法通过javascript找出Chrome的媒体设置环境?

javascript - 如何在 Angular 应用程序中绑定(bind) graphicsmetrics jquery 插件

javascript - Flexslider rtl滑动方向问题

jquery - 如何在悬停时放大一个 div 并缩小所有其他 div

c - 为什么 getline 在 C 函数中失败?