2

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

<table>
    <tr>
        <td><span></span></td>
        <td><a><span></span></a></td>
        <td><span></span><span><span/></td>
    </tr>
<table/>

各tdでスパンの最初の出現を選択する必要があります。上記のHTMLから3つのスパンを実行します。

$('td span')すべての(4)スパンを返します

$('td span:first-child')すべてのスパンも返します

$('td span:first')最初にのみ返す

$('td > span')2スパンのみを返します。

セレクターまたはフィルターでこれを行うことはできますか?
これを達成するために何を使用する必要がありますか?

4

3 に答える 3

11

これを試して:

​$('td').find('span:first')

http://jsfiddle.net/qDAt8/

マークアップは無効であることに注意してください。

于 2012-09-26T12:11:24.703 に答える
2

HTMLを修正した後、これは機能します。

$('td').find('span:first');

デモ

上記のデモでは、次のサンプルHTMLを使用し、一致する要素を視覚的に強調表示しています。

<table>
    <tr>
        <td><span>span 1.1</span><span>span 1.2</span></td>
        <td><a><span>span 2.1</span><span>span 2.2</span></a></td>
        <td><span>span 3.1</span><span>span 3.2</span></td>
    </tr>
</table>
于 2012-09-26T12:14:35.407 に答える
1
$("table td").find("span:first")

最初の3つのスパンを提供します。より詳細な検索を提供すると、jQueryは要素をより効率的に検索します。

于 2012-09-26T12:16:43.077 に答える