0

次のうち、正しいやり方と考えられるものはどれか疑問に思います。次のhtmlがある場合:

<div id="container">
    <div id="form">
        <div class="field">TEXT</div>
    </div>
</div>

そして、jQueryを使用してフィールド内のテキストを取得したいのですが、これは優れています(そしてその理由)。複数のセレクター:

$("#container #form .field").text();

またはコンテキストを使用して:

$((".field", $("#form")), $("#container")).text();

両方を含むフィドルを次に示します: http://jsfiddle.net/f8LKc/

4

2 に答える 2

4

$('#field')のインスタンスが 1 つしかない ID セレクターであるため、そのまま使用する必要があります<div id="field">

于 2012-09-05T23:03:20.150 に答える
1

両方のアプローチのパフォーマンスをテストするためにベンチマークを実行することに勝るものはありません。jsperf.comでテストケースを作成し、2つのアプローチをテストし、クラスごとに選択しました$(".field")

Testing in Chrome 21.0.1180.89 32-bit on Windows Server 2008 R2 / 7 64-bit Test 

+-----------------------+---------------------------+
| Test                  | Ops/sec                   |
+-----------------------+---------------------------+
| Multiple Selector     |  43,265  67% slower       |
+-----------------------+---------------------------+
| Selector w/ Context   | 130,051  fastest          |
+-----------------------+---------------------------+
| Selector w/ Class     | 126,064  2% slower        |
+-----------------------+---------------------------+

テストケース

于 2012-09-05T23:11:24.227 に答える