生のJavaScript
生のJavaScriptバージョンは、最初のものを使用document.getElementByIdしElement#getElementsByTagNameてスキップします。
var list, images = [], index;
list = document.getElementById("myGallery0").getElementsByTagName("img");
for (index = 1; index < list.length; ++index) {
images.push(list[index]);
}
// Use the `images` array
でループを開始するとindex = 1、最初のループがスキップされます(これはindex = 0)。
または、非常に注意が必要な場合もありますが、ターゲットブラウザで徹底的にテストします。
var images = Array.prototype.slice.call(
document.getElementById("myGallery0").getElementsByTagName("img"),
1);
これが機能するのは、仕様によれば、メソッドの仕様にリストされている操作をサポートしている限り、操作対象のオブジェクトを配列以外のものにする必要があるためです。そして、によって返されるので、それを値として渡し、インデックス1で始まるスライスが必要であることを伝えることができます。ただし、仕様には「...関数をに正常に適用できるかどうか」も明確に示されていることに注意してください。ホストオブジェクトは実装に依存します。」およびはホスト提供のオブジェクトであるため、ターゲット環境で徹底的にテストすることをお勧めします。Array.prototype.slice sliceNodeListgetElementsByTagNamesliceNodeListthissliceNodeList
jQuery
jQueryには、それを行う方法がたくさんあります。私のお気に入りは、おそらくRuiが指摘したものですslice。
var images = $("#myGallery0 img").slice(1);