jQuery Parent Sibling选择器

K.R*_*.R. 14 jquery jquery-selectors

我有一个HTML文档,如下所示:

<td>
  <div class="commentLink">
    <a href="javascript:ShowBox()">Show</a>
  </div>
  <div class="hiddenBox">
    <!-- Hidden content  -->
  </div>
</td>
Run Code Online (Sandbox Code Playgroud)

默认情况下隐藏class ="hiddenBox"的div.单击"显示"链接,我想显示隐藏的div.我试过这个,但它不起作用.

function ShowBox() {
 $(function(){
  $(this).parent().siblings(".hiddenBox").show();
 });
}
Run Code Online (Sandbox Code Playgroud)

类"hiddenBox"在我的文档中多次出现,但我只想显示兄弟姐妹.

use*_*716 18

问题是this在你的函数中不会是<a>元素.您可以像这样更改内联处理程序来修复它:

<a href="#" onclick="ShowBox.call(this); return false;">Show</a>
Run Code Online (Sandbox Code Playgroud)

啊刚注意到,另外你需要引用this就绪处理程序的外部.

function ShowBox() {
   var that = this;
   $(function(){
       $( that ).parent().siblings(".hiddenBox").show();
   });
}
Run Code Online (Sandbox Code Playgroud)

我假设你已经这样设置,以防有人在加载DOM之前点击链接.