对开发人员来说,IE 的问题总是特别多,特别是 IE 6,郁闷的是,IE 6 总“死”不了。
IE 中,getElementById 有个 BUG,那就是如果对应的 id 不存在,它会查找 name 属性值等于对应 id 的元素。要修正这个问题,可参照下面的代码(ezj 中的代码):
function getById(id)
{
var result = document.getElementById(id); // 不存在 parentElement.getElementById(id);
// IE 有 BUG,把 name 和 id 混淆,故这里要判断
if (result.id != id)
{
for (var i = 0; i < document.all[id].length; i++)
{
if (document.all[id][i].id == id)
{
result = document.all[id][i];
break;
}
}
}
return result;
}