Jquery 每个都在不同的浏览器上给出不同的结果,但没有错误。它计算元素是错误的,但为什么?

Jquery 每个都在不同的浏览器上给出不同的结果,但没有错误。它计算元素是错误的,但为什么?,jquery,arrays,cross-browser,push,each,Jquery,Arrays,Cross Browser,Push,Each,我需要将所有特定元素的一个属性添加到数组中: 以下是html: <a class="umb" name="/wordpress/images/custom-slideshow/image1.jpg"> <a class="umb" name="/wordpress/images/custom-slideshow/image2.jpg"> <a class="umb" name="/wordpress/images/custom-slideshow/image

我需要将所有特定元素的一个属性添加到数组中:

以下是html:

<a class="umb" name="/wordpress/images/custom-slideshow/image1.jpg">  
<a class="umb" name="/wordpress/images/custom-slideshow/image2.jpg">  
<a class="umb" name="/wordpress/images/custom-slideshow/image3.jpg">
这会提醒不同浏览器中的不同号码
在Firefox“15”中
在IE8“3”中
在Chrome“6”中
在歌剧《3》中 在狩猎“12”


正确答案当然是“3”。无法理解为什么会发生这种情况。

快速测试后,我在Safari 5中得到了3个,但这可能是因为不同的浏览器会尝试以不同的方式更正未关闭的锚标记(假设这不是粘贴错误)。每个锚点的末尾都应该有一个。你发布的不是有效的HTML,你实际的HTML是什么样子的?首先,你注意到它们都是3的倍数了吗?这就引出了一个问题,代码什么时候执行?我仍然想知道为什么浏览器的计算方式不同。
var theImages = new Array();

$('.umb').each(function(){

    theImages.push($(this).attr('name'));

});

alert(theImages.length);