假设我有一个页面提取了一些图像源,如下所示:
<div id="d">
<img src="foo.gif"/>
<img src="bar.gif"/>
<img src="gah.gif"/>
</div>
<script type="text/javascript">
var srcs = $('div#d > img').map(function(){return this.src});
// srcs => ['foo.gif', 'bar.gif', 'gah.gif']
</script>
请注意,srcs
不是 JavaScript 数组,而是类数组对象;我们之所以知道这一点,是因为我们可以对选择器返回的对象进行 jQuery API 调用,并且 srcs.constructor != Array
。
jQuery API 提供了一个 .get()
method其中,当没有参数时,返回一个“标准”数组。是否有令人信服的理由使用标准数组而不是类似数组的对象,或者此方法是否只是为了完整性而包括在内?
[编辑]
换句话说 - JavaScript 数组和 jQuery 选择器返回的类数组对象之间有什么区别?
最佳答案
它允许您使用 jQuery 没有的标准数组方法,例如 push
。
特别是,jQuery 对象是不可变的,而数组不是。
关于javascript - .get() 在 jQuery API 中没有索引的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254164/