原始 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
slice
NodeList
getElementsByTagName
slice
NodeList
this
slice
NodeList
jQuery
在 jQuery 中,有很多方法可以做到这一点。我最喜欢的可能是Rui 指出的那个,使用slice
:
var images = $("#myGallery0 img").slice(1);