這是問題的延續:爲什麼這個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