我試圖用jQuery插入HTML表格作爲div元素的子節點。我的代碼看起來是這樣的:當試圖在Internet Explorer(IE)上追加jQuery對象時,jQuery拋出SCRIPT5022:HierarchyRequestError
var table = $('#tableId').clone();
$('#divId').append(table);
此代碼工作正常在Chrome和Firefox,沒有問題,但是當我在Internet Explorer(IE)10測試中,IE控制檯拋出這樣的錯誤這樣的:
SCRIPT5022:HierarchyRequestError
我的互聯網搜索指向我這個MSDN文檔:
http://msdn.microsoft.com/en-us/library/ie/gg592979(v=vs.85).aspx
它指定對於錯誤消息:無法在請求的位置插入節點。但爲什麼 ?
我試過prepend(),同樣的錯誤。出於某種原因,我不能使用table.appendTo()。 appendTo不適用於所有3種瀏覽器。
如果有人能指出我的一些線索如何解決這個問題,我將不勝感激。謝謝。
更新:你可以看到在這個jsFiddle中的效果:http://jsfiddle.net/phamductri/LSaDA/。嘗試Chrome和Firefox,它會工作,然後嘗試IE瀏覽器。
更新:將jQuery版本更改爲1.11.0或2.1.0將使代碼工作。但是,如果試圖通過引用後面的window.opener.table將表追加到新窗口中的div元素中:$('#divId')。append(window.opener.table);這在IE中不起作用,儘管它適用於Firefox和Chrome。
更新:我發現,當我完全跳過jQuery並使用內置的JavaScript函數時,這種行爲也發生了。我在這裏提出了另一個問題:Internet Explorer throws SCRIPT5022: HierarchyRequestError when trying to appendChild an HTML object from another window
你可以發佈演示來重現該問題嗎?試試http://jsfiddle.net – elclanrs
我剛更新,謝謝。 – phamductri
ID必須是唯一的,請嘗試使用一個類。 – elclanrs