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