在Internet Explorer中此行document.getElementById("left").getElementsByTagName("tbody")[0].innerHTML = document.getElementById("left").getElementsByTagName("tbody")[0].innerHTML + string;
附加表是給我一個SCRIPT600: Invalid target element for this operation. …character 10
IE:無效的目標元素 - 使用的innerHTML +字符串
的字符串很簡單,它包含了一組tablerows的。這適用於Chrome,Safari或Firefox。有沒有更好的方法來做到這一點?我正在做的是一旦用戶到達頁面的底部,我將tablerows附加到表中以加載更多內容。這是一種AJAX無限滾動類型的交易 - 客戶端請求。我正在使用Javascript,並希望在此時使用Javascript,而不是僅僅爲了這個任務而改用jQuery。
更新也同樣有:document.getElementById("left").innerHTML = document.getElementById("left").innerHTML + string;
此外,左邊是<table id="left">
您不能在IE中設置表,表節或錶行元素的innerHTML。您可以使用innerHTML來編寫整個表格,或僅使用單元格的內容。使用DOM方法。 PS。 Ajax「無限滾動」頁面是一種寵物仇恨,因爲它們存在嚴重的可用性問題。 – RobG 2013-03-01 00:38:55
@RobG我認爲你的建議(你的前兩個句子似乎有衝突)是我剛剛嘗試的:用innerHTML重寫整個表。其次,我相信我正在使用DOM方法。你是說我必須通過DOM創建額外的行,而不是一個字符串?最後,無限滾動是客戶端請求。 – michaellindahl 2013-03-01 00:44:14
@RobG我試圖用DOM寫出代碼,但'newLink.onclick = function(){toggleVote()};'不想聽我說。 @KernelJames有一個很好的解決方案。你會同意嗎? – michaellindahl 2013-03-01 01:30:06