3

これは実際には2つの質問です。jqueryで .eq メソッドをいじっていたので、jsfiddleを使ってテストすることにしました。私を困惑させているのは、明らかに範囲外のインデックスを指定しても、範囲外のインデックスエラーではなく obj が返されることです。

console.log($("body").children("div").eq(2));
console.log($("body").children("div").eq(20));

そこで、 jqueryの .children メソッドを使用してこれを行いました。詳細に調べてみると、セレクターを指定すると正しい子が返されますが、指定しないと本体の外側にあるタイトル要素も返されます。

console.log($("body").children());
console.log($("body").children("div"));

理由を知っている人はいますか?ここにjsfiddleがあります

4

2 に答える 2

0

少なくともあなたの jsfiddle の場合、jsfiddle は html 領域に入力したすべてのものを body タグに自動的に挿入します。この例は、次のようなものをレンダリングすることになります。

<html>
  <head>
  </head>
  <body>
    <title></title>
    <div></div>
    <div></div>
    <div></div>

    <div></div>
    <div></div>
    <div></div>
  </body>
</html>
于 2013-08-29T19:54:55.410 に答える