1

我有一个 div 标签,其中包含一个 div 标签,其中包含一个 ul 标签,然后包含许多 li 标签。在这些 li 标签中包含一个锚元素,单击该元素会导致最外层的 div 隐藏。

例如

<div class="object" id="123">
  <div>
    <ul>
      <li></li>
      <li><a href="#" id="hide">hide outermost div and its child elements</a></li>
    </ul>
  </div>
</div>

<div class="object" id="124">
  <div>
    <ul>
      <li></li>
      <li><a href="#" id="hide">hide outermost div and its child elements</a></li>
    </ul>
  </div>
</div>

单击锚标记时,最外层的 div 必须与其子元素一起隐藏。

我认为我需要重复使用 parentNode .. 但是有没有更简单的方法可以直接访问最外层的 div 并因此访问它的 id。帮助将不胜感激。

4

1 回答 1

5

你的问题相当不清楚。听起来您几乎正在寻找一种访问“外部 div”的通用方式如果是这种情况,那么在锚点和外部 div 上都有 id 是没有意义的。如果只有一个“外部 div”和一个锚点来隐藏它,那么您只需要:

$('#hide').click(function(){
    $('#123').hide();
});

如果您想要一种通用的方式来执行此操作,则应该向两者添加类:

<div class="outerDiv" id="123">
    <div>
        <ul>
            <li></li>
            <li><a href="#" class="hider" id="hide">hide outermost div and its child elements</a></li>
        </ul>
    </div>
</div>

和:

$('.hider').click(function(){
    $(this).closest('.outerDiv').hide();
});
于 2012-07-03T22:07:39.303 回答