document.getElementsByName 在IE与firefox表现不一,解决办法

document.getElementsByName 在IE与firefox表现不一,在firefox中会返回相同name的元素列表,而在IE中返回相同ID的元素列表。

 

<li name="test" >333</li>
<li name="test" >333</li>

<li name="test" >333</li>

<li name="test" >333</li>

<li name="test" >333</li>

alert(document.getElementsByName('test').length);  firefox返回5,IE返回0

<li id="test" >333</li>
<li id="test" >333</li>

<li id="test" >333</li>

<li id="test" >333</li>

<li id="test" >333</li>

alert(document.getElementsByName('test').length);  firefox返回0,IE返回5

 

在IE中:
     Document.GetElementsByName(“yourName”); 会返回 id 属性值为youName的元素数组。
在Firefox中:
     Document.GetElementsByName(“yourName”); 只会返回name 属性值为youName的元素数组。

由此可以想到一个办法

<li name="test" id="test">333</li>
<li name="test" id="test">333</li>
<li name="test" id="test">333</li>
<li name="test" id="test">333</li>
<li name="test" id="test">333</li>

alert(document.getElementsByName('test').length);  firefox返回5,IE返回5

posted on 2010-10-08 16:37  黄兆张's Blog  阅读(588)  评论(0编辑  收藏  举报

导航