使用jQuery $(this).addClass不工作,简单的代码无法正常工作

时间:2013-08-01 17:33:31

标签: javascript jquery

这个简单的代码不起作用,只是在点击后尝试添加一个类。

    $('a').click(function(){    
      //alert('on'); WORKING
      $(this).addClass('on');
    })

HTML简直就是..

    <ul>
 <li><a href="">List Item 1</li>
 <li><a href="">List Item 2</li>
 <li><a href="">List Item 3</li>
 <li><a href="">List Item 4</li>                        
   </ul>

7 个答案:

答案 0 :(得分:5)

你没有关闭<a>,但它对我有用。

http://jsfiddle.net/L3nyE/

<ul>
    <li><a href="#">List Item 1</a></li>
    <li><a href="#">List Item 2</a></li>
    <li><a href="#">List Item 3</a></li>
    <li><a href="#">List Item 4</a></li>                        
</ul>

CSS:

.on { background-color:red; }

jQuery:

$('a').click(function(){    
      //alert('on'); WORKING
      $(this).addClass('on');
});

答案 1 :(得分:0)

防止默认行为

$('a').click(function(event){
  event.preventDefault();    
  $(this).addClass('on');
});

答案 2 :(得分:0)

适用于我,只要您将链接的目标更改为"#"即可。 (或点击处理程序中的return false。)

http://jsfiddle.net/jaNCq/1/

您永远不会关闭<a>,但Firefox足够聪明,可以为您关闭它们。但不能说其他浏览器。

答案 3 :(得分:0)

您的代码工作正常,请检查以便在dom加载并准备好时加载代码。 Working example

$(document).ready(function(){ 
    $('a').click(function(){    
         $(this).addClass('on');
    });
});

答案 4 :(得分:0)

您的HTML不正确

<ul>
<li><a href="#">List Item 1</a></li>
 <li><a href="#">List Item 2</a></li>
 <li><a href="#">List Item 3</a></li>
  <li><a href="#">List Item 4</a></li>                        

Demo

答案 5 :(得分:0)

不要忘记关闭“a”标签。还添加一个“;”在你的jQuery函数结束时。

答案 6 :(得分:0)

确保引用了jquery lib并将代码包装在dom中。这对我有用。

<style>
    .on{
        color:red;
    }
</style>
<script>

    $(function () {
        $('a').click(function () {
            //alert('on'); WORKING
            $(this).addClass('on');
        })
    });
</script>