1

我正在使用 jquery 1.5,我遇到了添加和删除类功能的问题。下面是我的代码。

我正在创建一个具有正常、悬停和活动状态的导航。我要添加和删除类的活动状态。

  $(".class").hover(function(){
          $(this).css("background-color", "#666).css("color", "yellow");
    ), function(){ 
         $(this).css("background-img", url(image).css("color","#fff");
    ).live('click', function(){
           if($("ul.me li").hasClass("current")){
             $("ul.me li").removeClass("current");
                $(this).addClass("current");
             }
        });


<ul class="me">
   <li class="current"> item1 </li>
   <li> item1 </li>
   <li> item1 </li>
</ul>

我是否正确绑定了这个?

4

4 回答 4

0

您缺少选择器:-

$("ul.me li").live('click', function(){
   if($("ul.me li").hasClass("current")){
     $("ul#me li").removeClass("current");
        $(this).addClass("current");
     }
});
于 2013-02-13T12:55:00.573 回答
0

你的脚本过于复杂了。您需要阅读 .css 的文档。您不能通过 引用元素$(".class")。如果您想引用元素类型,请仅使用不带.or#的名称$("ul")。如果你想引用一个类使用$(".me")$("#idName")ids。单个 css 命令可以使用一组 css 值来更改。正如我之前所说,请阅读 css 文档。jQuery 1.6 与我在 jsfiddle 中获得的一样接近。这是一个小提琴链接。请参考脚本并根据您的要求修改 css 值。

小提琴

注意: 如果要向 li 添加类并在悬停时删除,请在 css 中而不是 js 中为类添加样式。这更便宜。

于 2013-02-13T15:57:41.913 回答
0

您可能需要使用$("ul.me li").removeClass("current")而不是$("ul#me li").removeClass("current")

$("selector").live('click', function(){
   if($("ul.me li").hasClass("current")){
     $("ul.me li").removeClass("current");
        $(this).addClass("current");
     }
});
于 2013-02-13T12:52:30.840 回答
-1

只是 .live 没有意义。您需要将 .live 设置为 jquery 对象,例如 $('selector')

于 2013-02-13T12:55:41.463 回答