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」が 1 つしかなく、それを非表示にするアンカーが 1 つしかない場合、必要なのは次のとおりです。

$('#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 に答える