これは実際には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があります