文字列のhtmlから最初のテーブルと2番目のテーブルを選択する必要があります。私は、これは、セレクタ:eq(0)
と:eq(1)
によって行うことができます知っているが、jQuery - 文字列から要素を選択する
var firstTable = $("table", "<table></table>").length;
firstTable == 0
。どうして?
文字列のhtmlから最初のテーブルと2番目のテーブルを選択する必要があります。私は、これは、セレクタ:eq(0)
と:eq(1)
によって行うことができます知っているが、jQuery - 文字列から要素を選択する
var firstTable = $("table", "<table></table>").length;
firstTable == 0
。どうして?
は、問題を説明するために、このようにそれを試してみてください。
jQuery()
(別名$()
)に2番目の引数を渡すときは、というコンテキストを指定して検索します。
$(selector, context);
がこれに相当します:それは、これですので
$(context).find(selector);
、あなたはそれがtable
要素を見つけていない理由を表示するには、このようなあなたの「壊れた」コードを書き換えることができます:
var firstTable = $("<table></table>").find("table").length;
... .find()
は子孫要素のみを選択します。
var firstTable = $("table", "<div><table></table></div>").length;
// returns 1
検索が context引数内起こる:
find()メソッドは問題ありませんが、eq(0)および:eq(1)セレクタ... –
@Radek:あなたが何を意味するのか分かりません。 '.find()'は '$()'が行うすべてのセレクタで動作します。 –
私は通常、 'context'スタイルの選択を使用しませんが、HTML文字列を渡すことは間違いありません。$(selector、context) 'は' $(context).find(selector) 'に相当します。私の答えを編集する時間。 +1 –
@Matt、私はそれをあまり使っていません。私も 'x.find(y)'の流れを好みます。 –