Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未指定的错误DOM IE_Javascript_Jquery_Internet Explorer_Popup - Fatal编程技术网

Javascript 未指定的错误DOM IE

Javascript 未指定的错误DOM IE,javascript,jquery,internet-explorer,popup,Javascript,Jquery,Internet Explorer,Popup,我正在使用弹出窗口构建应用程序。我在主页中使用Ajax获得新信息,并更新弹出页面。在侧窗口(弹出窗口)中,我有一个表,当收到新数据时,我只是在这个表中添加行。在FF、Chrome和Opera中工作得很好,但当我尝试附加child时(无论我是否使用jquery),IE给了我一个未指明的错误。我试图将子对象直接附加到表中,如下所示: var tableHeader = this.config.newResultsWindow.document.getElementById('newResultsTa

我正在使用弹出窗口构建应用程序。我在主页中使用Ajax获得新信息,并更新弹出页面。在侧窗口(弹出窗口)中,我有一个表,当收到新数据时,我只是在这个表中添加行。在FF、Chrome和Opera中工作得很好,但当我尝试附加child时(无论我是否使用jquery),IE给了我一个未指明的错误。我试图将子对象直接附加到表中,如下所示:

var tableHeader = this.config.newResultsWindow.document.getElementById('newResultsTableHeader');
tableHeader.appendChild(newRow);
当我只使用innerHTML(例如
this.config.newResultsWindow.document.body.innerHTML=updateTable
)时,一切正常,但表的内容非常大,我不能每次都写


我能做什么?

您是否尝试捕获错误,它可能会告诉您更多信息,而不是“未指定”:

try {
    tableHeader.appendChild(newRow);
} catch(error) {
    alert(error);
}
我希望有帮助,
Rob

如果您尝试捕捉错误,它可能会告诉您更多信息,而不是“未指定”:

try {
    tableHeader.appendChild(newRow);
} catch(error) {
    alert(error);
}
我希望有帮助,
Rob

IE不允许在不同文档之间移动节点,因此无法将文档a中创建的节点插入到文档B

IE不允许在不同文档之间移动节点,因此无法将文档a中创建的节点插入到文档B

找到适合我的内容。尝试将HTML追加到newRow变量中:

tableHeader.appendChild(newRow.html());

找到了对我有用的东西。尝试将HTML追加到newRow变量中:

tableHeader.appendChild(newRow.html());

“#newResultsTableHeader”
元素的类型是什么?表?请提供一个可调试的测试用例....//它是ADElement。这就是我创建行的方式:buildTableRow:function(data){var row='',width;for(data中的var child){row+=''+data[child]+'';}row+='';return$(row);},//并将其追加到newRes.parentNode.insertBefore(row[0],newRes.nextSibling)//这里的newRes是thead元素。
“#newResultsTableHeader”
元素的类型是什么?表?请提供一个可调试的测试用例....//它是ADElement。这就是我创建行的方式:buildTableRow:function(data){var row='',width;for(data中的var child){row+=''+data[child]+'';}row+='';return$(row);},//并将其追加到newRes.parentNode.insertBefore(row[0],newRes.nextSibling)//这里newRes是一个thead元素。它给了我“DOM异常:层次结构请求错误(3)”。检查这个线程:刚刚看到Molle博士的答案,对我来说更有意义。它给了我“DOM异常:层次结构请求错误(3)”。检查这个线程:刚刚看到Molle博士的答案,这对我来说更有意义。IE是否支持
document.adoptNode
。。。这是DOM级别3,所以我想不是。在以前的IE版本中有没有替代方法?是的,有一种简单的方法可以在所有浏览器中使用。当使用
$(row)
创建行时,请将其作为弹出窗口的$document对象的第二个参数提供,这样该行将由弹出文档创建,并且您不会遇到不同文档的问题。查看小提琴(它使用iframe而不是弹出窗口,但不同文档的问题相同)IE是否支持
文档。adoptNode
。。。这是DOM级别3,所以我想不是。在以前的IE版本中有没有替代方法?是的,有一种简单的方法可以在所有浏览器中使用。当使用
$(row)
创建行时,请将其作为弹出窗口的$document对象的第二个参数提供,这样该行将由弹出文档创建,并且您不会遇到不同文档的问题。查看fiddle(它使用iframe而不是弹出窗口,但不同文档的问题相同)