Javascript .getElements()是否偶尔抓取一个数字?
相关JSFIDLE: 出于某种原因,给定fiddle中显示的数据集,当我尝试使用Javascript .getElements()是否偶尔抓取一个数字?,javascript,mootools,Javascript,Mootools,相关JSFIDLE: 出于某种原因,给定fiddle中显示的数据集,当我尝试使用data interest id属性获取所有元素时,在七个li元素中,我也得到了数字“7” 这两个元素是相关的,好像我添加了另一个li元素,数字是“8” 发生这种情况的任何特殊原因?从.getElements返回的对象除了其结果外,还包括一个length属性 使用Object.each()函数时,您将遍历所有属性。例如:如果将.each更改为 Object.each(meh, function(element, ke
data interest id
属性获取所有元素时,在七个li
元素中,我也得到了数字“7”
这两个元素是相关的,好像我添加了另一个li
元素,数字是“8”
发生这种情况的任何特殊原因?从.getElements返回的对象除了其结果外,还包括一个length属性 使用Object.each()函数时,您将遍历所有属性。例如:如果将.each更改为
Object.each(meh, function(element, key) {
console.log(element+"-"+key);
});
您将看到each()函数中的console.log()将显示“length”作为其键,而其余的将有一个索引。对于那些通过Google(谁知道…)来到这里的人。我通过在
.getElements()
的同一行上调用.each()解决了这个问题。我不确定.each()
是否已弃用(或即将弃用),因此请注意清空。$('myElement').getElements('li').each(function(){/…})代码>经典Wtf!我迁移到Jquery,一点问题也没有:[1]:这是因为您假设getElements
返回一个对象。它不会返回,而是返回一个基于数组的元素(类型)集合。javascript中的数组实际上不是真实的,它们是具有类似数组属性的对象,如.length
。这允许您调用结果不好的对象方法以及。。在obj中。只要读一下元素。谢谢你的提醒,迪米特尔。我确实尝试了数组。每个,但都不起作用。然而,我确实从这些元素中了解到了你评论的要点!==排列