這是因爲它尚未初始化。如果我放入alert(),它允許瀏覽器被釋放並初始化元素。那麼問題是,我如何強制它不使用警告框來初始化元素?獲取AJAX的HTML中的元素無法通過getElementbyID找到
這裏的相關代碼...
$().ready(function() { AJAX_LoadResponseIntoElement ("mybody", "skin1.txt"); AJAX_LoadResponseIntoElement ("contentdiv", "index.txt"); initPage(); });
AJAX_LoadResponseIntoElement(ID,文件),只需取 「文件」 有一個XMLHttpRequest,並將其裝入ID的innerHTML。
initPage()的作品,直到它調用setContentHeight(),其工作直到這一點:
if (DOMheight > y_lbound) { document.getElementById('containerdiv').style.height = (DOMheight+container_ymod) + 'px'; }
如果我把alert(document.getElementById('containerdiv'));
這條線之前,它說,它是NULL,即使「 containerdiv「元素應該首先被加載到AJAX_LoadResponseIntoElement。
如果我在此行之前放TWOalert(document.getElementById('containerdiv'));
的副本,第一個表示NULL,第二個表示「[Object HTMLDivElement]」。
顯然,這只是「containerdiv」未初始化的問題。
因此,問題是如何在XMLHTTPRequest獲取這些元素後,如何強制這些元素的初始化,而不使用alert()?
那花我花了一個小時才弄清楚該怎麼做,但我得到了它的工作。如果你原諒我,我會在同一時間去哭,慶祝和抽菸......我即將放棄! – TimFoolery 2011-01-28 12:02:40