问题
document.getElementById()通过其名称选择一个元素。
浏览器IE浏览器
例相关的HTML代码:
[HTML] <输入名称=“测试”类型=“文本”值=“测试”> [/ HTML]
Javascript代码:
var obj = document.getElementById("test");
即使页面上不存在ID为“ test”的元素,也不会导致错误,并且该元素可以作为“ obj”使用。
解
这是一个Bug,它将在大多数(如果不是全部)其他浏览器中引起问题。 document.getElementById()应该按照名称提示通过元素ID而不是其名称来获取元素。 当元素名称与您实际要访问的元素的ID相同时,这也会在IE中引起问题。 错误的元素将被访问!
请注意您如何命名元素。 不要使用与另一个元素的ID相同的名称。
更多错误,怪癖和不一致之处
本文探讨了Internet Explorer浏览器中document.getElementById方法的一个已知Bug,该Bug会导致此方法错误地根据元素名称而非ID选择元素。文章详细解释了这一行为如何在IE中与大多数其他浏览器的表现不同,以及它可能引发的问题,尤其是当元素的名称与另一元素的ID相同时。为了避免此类问题,作者建议在命名元素时避免使用与其它元素ID相同的名称。
获取错误的元素(IE)&spm=1001.2101.3001.5002&articleId=106352741&d=1&t=3&u=43e42e662d9c419685fd097df748877a)
9804

被折叠的 条评论
为什么被折叠?



