2012-05-16 70 views
0

IE是給我一個錯誤(錯誤:對於此操作無效目標元素)試圖執行該代碼時:網頁在IE9(insertAdjacentHTML)不工作

var d1 = document.getElementById(name + '-body'); 
d1.insertAdjacentHTML('beforeend', html); 

,而不必把整個功能在這裏,它的要點是當用戶點擊一個按鈕時動態添加一些文本輸入。我做了一些搜索,發現很多insertAdjacentHTML在表中不起作用的語句,這正是我需要的。

是否有解決方法?

編輯:這是我試圖插入的html。如果你想我也可以發佈從Chrome生成的HTML。

"<tr id=\"node-" + counter + "\"> 
     <td> 
     <textarea onclick=\"Common.removeInstructions(id)\" name=\"on\" id=\"action-" + counter + "\" wrap=\"soft\" cols=\"35\" rows=\"4\" style=\"resize: none; overflow: hidden;\"> 
     Please limit responses to 150 characters. Blank fields will be ignored. 
     </textarea> 
     </td> 
     <td> 
    <input classname=\"TextInput\" id=\"actionDate-" + counter + "\" newline=\"1\" style=\"width: 100px;\" class=\"TextInput\" assemblers=\"jaba.ui.input.TextInput\" jaba-pagerowindex=\"1\"/> 
     </td> 
    </tr>" 
+0

如果您向我們展示生成的HTML以及您想要做的事情,回覆起來會更容易。無論如何,我之前在IE中的一個表中插入行/單元格時遇到了問題,我的解決方案是在創建表格時預先創建了具有「display:none」的行/單元格,然後更改'​​''' innerHTML'以及它們的顯示。祝你好運。 –

+0

我添加了我想插入的html。 – Corwin01

回答

2

IE通常不允許您動態添加表格行/單元格。

預先創建要添加的行/單元格display:none,然後在需要時更改它們的innerHTMLdisplay是一種有用的解決方法。

0

添加FabrícioMatté作爲答案,我可以接受它。

如果您向我們展示生成的HTML以及您想要做的事情,回覆起來會更容易。無論如何,我之前在IE中的表格中插入行/單元格時遇到了問題,我的解決方案是在創建表格時預先創建帶有display:none的行/單元格,然後將innerHTML與其顯示器一起更改。

+0

如果您想接受它,我將其作爲正確答案提交。 :P –

+0

很好。打敗等待一天接受這一個哈哈 – Corwin01

+0

Yup大聲笑,謝謝:P –