0

同じコードを使用してこれらの2つの例を見つけるにはどうすればよいですか。

<div>
  <div>
    <span class='example-1'></span>
  </div>
  <ul class='find-me'> <!-- find this for example 1 -->

    <li>
      <span></span>
      <ul class='find-me'></ul>
    </li>

    <!-- Any number of li tags here -->

    <li>
      <span class='example-2'></span>
      <ul class='find-me'></ul>  <!-- find this for example 2 -->
    </li>

    <!-- Any number of li tags here -->

  </ul>
</div>

たとえば-1とexample-2のjQueryオブジェクトがあるとすると、両方の例で同じセレクターを作成するにはどうすればよいですか?出来ますか?

これは最初の例では機能しないため、selector.parent()。find( "。find-me")を実行することはできません。2番目の例では間違ったfind-meが選択されるため、selector.parent()。parent()。find( "。find-me:first")を実行できません。

私はどういうわけか祖父母に行って、あなたが始めたところに行って、次のfind-meクラスを見つけると言う必要があります。

編集:これまでの答えはすべて誤解されているようです。両方の例で機能するセレクターは1つだけである必要があり、セレクターはサンプルスパンを表すjQueryオブジェクトに関連している必要があります。

4

4 に答える 4

2

これが私が思いつくことができる最高のものです:

var $example1 = $(".example-1");
var $example2 = $(".example-2");

$example1.add($example1.parents()).siblings('.find-me').css("color", "red");
$example2.add($example2.parents()).siblings('.find-me').css("color", "blue");​

デモ: http: //jsfiddle.net/HNfpM/3/

于 2012-10-04T07:44:23.910 に答える
0

$('.find-me')[0]最初の例 $('.find-me')[2]の場合2番目の例の場合

于 2012-10-04T07:43:10.853 に答える
0

どうですか、$("div span, li span")またはcss3セレクターを使用できます:[att ^ =val] http://www.w3.org/TR/css3-selectors/ 実際にはcss3セレクターを使用します。コメントに実用的なデモを追加しました

于 2012-10-04T07:44:10.703 に答える
0
$('div > ul.find-me'); <!-- find this for example 1 -->



$('div > ul > li > ul.find-me'); <!-- find this for example 2 -->
于 2012-10-04T07:46:01.527 に答える