【问题标题】:slideUp multiple divs向上滑动多个 div
【发布时间】:2009-09-13 11:38:02
【问题描述】:

如何确保多个 div 向上滑动?现在我有这个功能:

$("div#personal").click(function() { 
  $("div.1").slideUp("slow", function () { $("div.2").slideDown("slow") } ); 
});

我想要做的是确保所有命名的 div:

  1. div.1
  2. div.2 除了这个
  3. div.3
  4. div.4
  5. div.5

向上滑动,第二个 div 除外。

【问题讨论】:

    标签: jquery html slideup


    【解决方案1】:

    您可以使用not 选择器来防止其中一个(或多个)向上滑动:

    $("div#personal").click(function() { 
      $("div :not('#idofseconddiv'").slideUp("slow");
    });
    

    最好给这些 div 提供一个通用的 css 类,这样选择器就不会选择页面中的所有 div:

    $("div#personal").click(function() { 
      $("div.someClass :not('#idofseconddiv')").slideUp("slow");
    });
    

    如果您在 div 上使用编号的类名,您可能需要考虑使用 starts with attribute filter

    $("div#personal").click(function() { 
      $("div[class^=yourClass] :not('#idofseconddiv')").slideUp("slow");
    });
    

    【讨论】:

    • 那些 div 有类,在这些类中是 1 到 5。
    • 如果您没有 ID,也可以使用 jQuery 对象访问器 INDEX。它返回页面中该 div 的索引(从零开始)
    • 是的,但是如何确保我的所有 1 到 5 类的 div 都向上滑动?这只确保带有 someClass 的 1 个 div 向上滑动,而不是全部。
    • @Elijah Woods - 然后可以使用带有属性过滤器的开头,例如$('div[class^=someClass] not:('#idofseconddiv')") 其中 someClass 是您的课程以数字开头,例如 myClass 如果您有 myClass1、myClass2 等。
    • 伟大的 karim79!属性过滤器的开头很棒:p
    猜你喜欢
    • 1970-01-01
    • 2010-12-17
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多