Jquery头痛 - 现场穿越

时间:2010-01-11 17:52:58

标签: jquery live traversal

我正在尝试完成以显示与执行javascript语句的按钮位于相同列表元素中的div。 整个列表由Ajax加载,因此使用的是live函数。

然而,我现在很困难,不知道如何继续。我尝试过EQ,其次是父母,孩子们有几种不同的方式可以取得成功,但这只会让我更加头痛。

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next().find(".theclassofthediviwannashow").show();
      return false;
});

HTML:

<div class="mydiv">
   <ul>
      <li class="mylist">
         <a href="#" rel="button">Linktext</a>
         <div class="theclassofthediviwannashow">Bla bla bla</div>
      </li>
  </ul>
</div>

希望有人知道我做错了什么。谢谢!

4 个答案:

答案 0 :(得分:2)

如果你的div总是跟在link元素之后,你应该能够做到:

$(this).next().show()

答案 1 :(得分:2)

如果您要显示的div下次使用next(),但您说您已尝试过。您可能正在寻找的是nextAll()

$('a[rel*=button]')
  .live('click', function(event) { 
      event.preventDefault(); 
      url = this.href;
      $(this).nextAll(".theclassofthediviwannashow").show();
  });

答案 2 :(得分:1)

这应该有效:

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next(".theclassofthediviwannashow").show();
      return false;
});

答案 3 :(得分:0)

我不确定我是否误解了你的问题,但只是移除.find(".theclassofthediviwannashow")而只留下$(this).next().show();似乎就是你想要的。