单击链接时添加类不起作用

时间:2013-08-22 19:33:43

标签: 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');
}

1 个答案:

答案 0 :(得分:4)

您已经在使用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>

<强> P.S。

如果你想把PHP放进去,那么你可以把东西放进去;

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

然后使用

在jQuery中访问它
$(this).data('foobar');

<强> PPS 抱歉,我的PHP编码技巧很垃圾!