3

別の要素に最も近いdom要素を見つけることができる組み込みのjQueryメソッドはありますか? 最も近いとは、相互の相対パス (XPath など) の最小の長さで最も近いという意味です。

次のサンプルを検討してください (Twitter Bootstrap のドロップボックス)。ドロップダウン アイコン - 付きの要素と.JS-ACTIONSリンクのセット - 付きの要素があり.JS-DELETE、いずれかのリンクをクリックすると、ドロップダウン アイコンのプログレス バーが有効になります。

<div class='btn-group'>
  <a href='#' class='btn dropdown-toggle JS-ACTIONS' data-toggle='dropdown'>
    <i class='icon-cog'></i>
    <span class="caret"></span>
  </a>
  <ul class='dropdown-menu pull-right'>
    <li><a href='#' class='JS-DELETE'>Delete</a></li>
  </ul>
</div>

それを行う1つの方法は、次のようなものを使用します

$(element.currentTarget).parent().parent().find('.JS-ACTIONS').showProgress()

しかし、JavaScript を DOM 構造から独立させたいのですが、次のようになります。

$(element.currentTarget).nearest('.JS-ACTIONS').showProgress()

利用可能なjQueryでそのようなメソッドはありますか?

アップデート

jQueryのclosestメソッドは機能しませんでした。親のみを検索し、兄弟や親の他の子は検索しません。

4

2 に答える 2

2

あなたは最も近い()が欲しいかもしれません:

セット内の各要素について、要素自体をテストし、DOM ツリー内のその祖先をたどることによって、セレクターに一致する最初の要素を取得します。

$(element.currentTarget).closest('.JS-ACTIONS').showProgress()
于 2012-11-26T18:04:34.950 に答える
1

祖先の階層で一致した要素が最初に表示されるように、 closest()を使用する必要があります。

$(element.currentTarget).closest('.JS-ACTIONS')
于 2012-11-26T18:04:43.000 に答える