0

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

但是,我现在很困,不知道如何进行。我尝试了EQ、next、parent、children等几种不同的方式来取得成功,但这只让我更加头疼。

$('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

4 回答 4

2

如果div你想展示的总是下一次使用next(),但你说你已经尝试过了。您可能正在寻找的是nextAll()

$('a[rel*=button]')
  .live('click', function(event) { 
      event.preventDefault(); 
      url = this.href;
      $(this).nextAll(".theclassofthediviwannashow").show();
  });
于 2010-01-11T18:00:02.053 回答
2

如果你的 div 总是跟随链接元素,你应该能够做到:

$(this).next().show()
于 2010-01-11T17:57:23.573 回答
1

这应该有效:

$('a[rel*=button]')
    .live('click', function(event) { 
       event.preventDefault(); 
       url = this.href;
     $(this).next(".theclassofthediviwannashow").show();
      return false;
});
于 2010-01-11T18:00:10.260 回答
0

我不确定我是否误解了你的问题,但只是删除.find(".theclassofthediviwannashow")和离开$(this).next().show();似乎只是做你想做的事。

于 2010-01-11T17:56:44.370 回答