jQuery
的多数操作的结果是集合,jQuery
绝大多数方法调用返回的仍然是自己本身, 这样,我们可以链式调用,所以jQuery
的集合不是数组,我们不能像数组一样操作他, 它提供了.each()
方法用于迭代这个集合, 它的回掉方法原型是:function(index, item)
,它与数组的forEach
循环的回掉函数不一样, 数组的forEach
循环的回掉方法的原型是function(item, index, array)
。 如果你更喜欢用数组形式操作,你需要调用.toArray()
把集合转换成数组,之后就可以使用Array
的方法了。
示例:
$('p').each(function (index, item) {
$(this).parent().css('height', this.scrollHeight);
});
$('p').toArray().forEach(function (item, index, array) {
$(item).parent().css('height', item.scrollHeight);
});