它删除了该类,但没有添加该类,我无法使用 .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/