これは有効なセレクタですか?そうでない場合、正しい方法は何ですか?
$($(this)+' childElement')....
これは有効なセレクタですか?そうでない場合、正しい方法は何ですか?
$($(this)+' childElement')....
使用
$(this).find("childrenSelector")
私は彼の方法がより良いパフォーマンスを持っていることを読んでいると思い込んでいたので、これよりも@ジャスティンの答えが好きです。私は間違っている可能性があります。 –
このテストでは、コンテキストを使用するとfindよりもやや速くなりますが、両方とも同様のパフォーマンスを示します。http://jsperf.com/jquery-selector-performance-with-find –
Thanks Justin。 +1をあなたのものに与えます。 – Aliostad
$(this).find('childrenSelector');
@Ben - なぜこれは受け入れられた答えではありませんでしたか?あなたが受け入れたものと同じですが、最初に答えました。 –
とにかく1行に3つの投票を取る^ – Matt
これは、あなたが探しているものかもしれ:
$('childElement', $(this))
基本的には現在の要素、this
のコンテキスト内でchildElement
を検索します。
詳細については、jQuery()機能のマニュアルを参照してください。具体的には、次の抜粋は、第二引数を説明し、それがfind
を使用することと等価である方法:
デフォルトでは、セレクタは、ドキュメントルートから始まるDOM以内に検索を実行します。ただし、$()関数にオプションの2番目のパラメータを使用することで、検索の代替コンテキストを指定できます。私たちはこの文脈にスパンセレクタを制限してきただけなので、クリックされた範囲内にわたる、
$('div.foo').click(function() { $('span', this).addClass('bar'); });
:コールバック関数内で、我々は要素の検索を行いたい場合たとえば、私たちはその検索を制限することができます要素は追加のクラスを取得します。
内部的にセレクタコンテキストは.find()メソッドで実装されているため、
$('span', this)
は$(this).find('span')
に相当します。
'$(this)'が返すものを考えてみましょう。 – delnan
私はあなたの質問を理解していません。あなたは 'this'の子を直接選択したいのですか、または 'this'のidにchildrenのidを追加して子を動的に選択しますか? –