这是问题的延续:为什么这个javascript不工作?
innerHTML working in FF but not in IE!
上述问题得到解决[感谢名单到pygorex1]。但我想知道为什么下面的代码片段不起作用。
if (window.addEventListener){
window.addEventListener('load', addDateFormatInfo, false);
window.addEventListener('load', loadNewElements, false);
} else if (window.attachEvent){
window.attachEvent('onload', addDateFormatInfo);
window.attachEvent('onload', loadNewElements);
}
function loadNewElements(){
document.createElement("showDateFormat");
}
function addDateFormatInfo(){
var dateFormatHolder = document.getElementsByTagName("showDateFormat");
if (dateFormatHolder){
for (i = 0 ; i < dateFormatHolder.length; i++){
dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';
}
}
}
提供它是工作在FF但不是在IE
此外,如果代替创建新的方法loadNewElements
和附加此,如果我将直接在我的JavaScript编写document.createElement("showDateFormat");
加载事件[不任何方法],然后代码按预期工作[在IE和FF中]。为什么是这样?
我已经放在'window.addEventListener( '负荷',loadNewElements,假);'如果我在'loadNewElements'方法中保留'alert',它会在'addDateFormatInfo'前执行。即使在IE中它不起作用 – 2009-11-27 13:05:38
您是否在另一个attachEvent调用之前放置了“window.attachEvent('onload',loadNewElements); ”? – 2009-11-27 13:12:15
@Fabien:看到代码,我已经下了“loadNewElements”刚刚安装了“addDateFormatInfo”,所以'loadNewElements'总是得到前执行后'addDateFormatInfo' – 2009-11-27 13:19:44