当您试图将一个节点插入到 DOM 中时,这个错误可能会发生,这个节点是无效的 HTML,可能是一个不正确的属性,例如:
// <input> can have a 'type' attribute
var $input = $('<input/>').attr('type', 'text');
$holder.append($input); // OK
// <div> CANNOT have a 'type' attribute
var $div = $('<div></div>').attr('type', 'text');
$holder.append($div); // Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
这个错误发生在我在 IE9中,当我试图将 Child 动态地附加到一个已经存在于窗口 A 中的子窗口 A 时,窗口 A 将创建一个子窗口 B。在窗口 B 中,在某个用户操作之后,一个函数将运行,并使用 window.opener.document.getElementById('formElement').appendChild(input);对窗口 A 中的 form 元素执行阑尾 Child 操作
var childWindow = window.open('somepage.html');
//will throw the exception in IE
childWindow.document.body.appendChild(document.createElement('div'));
//will not throw exception in IE
childWindow.document.body.appendChild(childWindow.document.createElement('div'));