未指定的错误DOM IE

6 浏览
0 Comments

未指定的错误DOM IE

我正在使用弹出窗口构建应用程序。在主页上通过Ajax获取新信息,并更新弹出窗口页面。在侧边窗口(弹出窗口)中,我有一个表格,当接收到新数据时,我只是在表格中添加一行。在FF,Chrome和Opera中,这个功能运行得很好,但是当我尝试添加子元素(无论我是否使用jquery)时,IE会给出一个未指定的错误。我尝试直接将子元素附加到表格中,像这样:

var tableHeader = this.config.newResultsWindow.document.getElementById('newResultsTableHeader');
tableHeader.appendChild(newRow);

当我只使用innerHTML(例如this.config.newResultsWindow.document.body.innerHTML = updatedTable)时,一切正常,但是表格的内容非常大,我无法每次都写入所有内容。

我该怎么办?

0
0 Comments

Unspecified error DOM IE问题的出现原因是HIERARCHY_REQUEST_ERR(3)错误。解决该问题的方法是通过捕获错误并查看错误信息来获取更详细的错误信息。下面是一种可能的解决方法:

try {
    tableHeader.appendChild(newRow);
} catch(error) {
    alert(error);
}

希望对你有所帮助。

0
0 Comments

在IE浏览器中,不能将节点在不同的文档之间移动,所以在文档A中创建的节点不能插入到文档B中。

IE是否支持document.adoptNode?这是DOM Level 3的内容,所以我认为不支持。

在之前的IE版本中是否有替代方法?

是的,在所有浏览器中都有一种简单的方法。在使用$(row)创建行时,将弹出窗口的文档对象作为第二个参数传递给$函数,这样行将由弹出文档创建,就不会出现不同文档的问题。可以参考这个jsfiddle链接(它使用一个iframe而不是弹出窗口,但是问题是一样的):[jsfiddle.net/doktormolle/J9KLL](http://jsfiddle.net/doktormolle/J9KLL)

0
0 Comments

(Unspecified error DOM IE)这个问题通常出现在使用IE浏览器时,原因是在向DOM元素添加HTML代码时发生了未指定的错误。为了解决这个问题,可以尝试将HTML代码附加到新的行变量中,然后将其添加到表头元素中。

以下是一个解决方法的示例代码:

var newRow = $("").html("New Cell");
tableHeader.appendChild(newRow.html());

通过将HTML代码附加到新的行变量中,然后使用appendChild()方法将其添加到表头元素中,可以解决(Unspecified error DOM IE)问题。这种方法可以确保在IE浏览器中正确添加HTML代码,避免出现未指定的错误。

0