代码之家  ›  专栏  ›  技术社区  ›  trh88

从元素获取唯一id

  •  0
  • trh88  · 技术社区  · 14 年前

    对这件事很感兴趣,有不少文章,但我看不懂。感谢任何帮助。

    我试着用这个来表示它应该只扩展相关的div,但到目前为止还不能工作。谢谢:)

    <div class="slide">
      <a class="slick-toggle" href="#">Toggle the box</a>
      <div class="slickbox">
      <p>Hello</p>
      </div>
    </div>
    

    我的jquery:

    $('a.slick-toggle').click(function() {
    $('.slickbox',this).slideToggle(400);
    return false;
    });
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   Sarfraz    14 年前

    See Working Example


    你可以用 next() 这样地:

    $('a.slick-toggle').click(function() {
      $(this).next('.slickbox').slideToggle(400);
      return false;
    });
    

    这个 下一步() 获取类的下一个元素 slickbox 点击相关链接。这样,它将永远 slideToggle 具有类的相关div 滑溜箱 .

        2
  •  1
  •   RobertPitt    14 年前

    使用以下行:

    $('.slickbox',this).slideToggle(400);
    

    您使用类 .slickbox 在范围内 a.slick-toggle

    this 来自第二个参数的关键字,因此代码应该如下所示:

    $('a.slick-toggle').click(function(){
        $('.slickbox').slideToggle(400);
        return false;
    });
    

    http://jsfiddle.net/nwuWd/

    如果您在一个apge上有几个实体,并且希望匹配最接近的实体,如上所述,您可以使用next()方法,如下所示:

    $('a.slick-toggle').click(function(){
        $(this).next('.slickbox').slideToggle(400);
        return false;
    });
    
        3
  •  -1
  •   EMP    14 年前

    如果你换了你的 .slickbox 选择器到 .slide .slickbox 它应该只适用于“幻灯片”内的“滑盒”。然而,您似乎在这里使用类作为id-这是您想要的吗?也就是说,是否希望此代码应用于页面上的多个类似项目?如果只有一个“幻灯片”,您可能应该将“幻灯片”改为一个ID。选择器将变成 #slide .slickbox