选择$(this).parent()的下一个兄弟

时间:2009-11-09 18:43:07

标签: javascript jquery

我有一些看起来像这样的HTML:

<div>
  <div class="value">
    <a href="#" class="clicker">Some Value</a>
  </div>
  <div class="heading">
    Some Name<img src="loading.gif" style="visibility:hidden">
  </div>
</div>

这可能会重复多次,具体取决于需要列出的值和标题的数量。使用jQuery,我附加了一个在单击a.clicker时发生的函数。作为发生的一部分,我想在它下面的.heading img上调用show()。但是,我无法理解如何选择它。

$('a.clicker').live("click", function() {

  // This next line, in my brain, works, but in reality it doesn't!
  $('.heading img', $(this).parent().parent()).show();

  // do some other AJAXy things
});

我已经标记了我认为应该这样做的行,但它根本没有显示img。我一直在仔细阅读文档,并在几个小时内软化,但没有成功。

感谢您的帮助!

1 个答案:

答案 0 :(得分:13)

你只是在错误的地方有一些东西。非常接近。

$('a.clicker').live("click", function() {
    $(this).parent().parent().find('.heading img').show();
});

这也可以通过第二种方式解决:

$('a.clicker').live("click", function() {
    $(this).parent().next('.heading img').show();
});