【问题标题】:jQuery live function and add/remove classjQuery live 函数和添加/删除类
【发布时间】:2013-02-13 12:51:17
【问题描述】:

我使用的是 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>

我是否正确绑定了它?

【问题讨论】:

  • 你没有绑定任何东西。应该是$("selector").live()
  • 您是否考虑升级到最新版本的 jQuery。你仍然需要一个选择器,但至少你不会使用三年前的代码?
  • 请粘贴标记(html代码),以便我们更好地分析。
  • @Jehanzeb.Malik 我添加了它

标签: javascript jquery web jquery-1.5 client-side-scripting


【解决方案1】:

您可能需要使用$("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");
     }
});

【讨论】:

    【解决方案2】:

    你缺少选择器:-

    $("ul.me li").live('click', function(){
       if($("ul.me li").hasClass("current")){
         $("ul#me li").removeClass("current");
            $(this).addClass("current");
         }
    });
    

    【讨论】:

    • 另外,他正在ul.me li 中寻找课程并在ul#me li 中删除。
    【解决方案3】:

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

    Fiddle

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-24
        • 1970-01-01
        • 1970-01-01
        • 2011-08-21
        • 2018-11-13
        相关资源
        最近更新 更多