0

私は次のHTML構造を持っています:

<div class="s1>
 <div class="s2">
  <span class="span1">
    <span>text</span>
  </span>
 </div>
</div>

現在、次のセレクターを使用して、最もネストされたスパンを選択しています。

$(".s1").find(">:first-child").find(">first:child").find(">:first-child")

その内側のスパンを選択するためのより効率的な方法はありますか?

編集:クラスs1のDivはすでにキャッシュされているため、$( "selector")を使用できません。

4

5 に答える 5

2

span1クラスからアクセスできます。

$('.span1 span')
于 2012-10-02T15:55:56.957 に答える
1

いくつかのオプションがあり、次のようなものが機能するはずです。

.s1 .s2 .span1 span:first-child

セレクターをどれだけ具体的にする必要があるかわかりません。

于 2012-10-02T15:56:23.053 に答える
0

効率について話している場合、最も速いのはスパンのIDを定義することです。

<span id="spanX">text</span>
$('#spanX')

このセレクターはクロスブラウザーのgetElementByIdに直接マップされるためです

何らかの理由でHTMLに触れることができない場合、最速の方法は次のとおりです。

$('.span1 span:first')
于 2012-10-02T16:00:56.137 に答える
0

クラスまたはIDを指定して、アクセスしてみてください

 <span id="sp1" class="sp1">text</span>

$('#sp1')  or $('.sp1')

// または

$('.span1 > span')
于 2012-10-02T15:56:25.623 に答える
-1
$('div.s1 > div:first-child > span:first-child > span:first-child')

それ以上に具体的なものが必要ですか?

于 2012-10-02T15:56:37.877 に答える