sách gpt4 ăn đã đi

JavaScript IE appendChild() - 意外调用方法或属性访问

In lại 作者:数据小太阳 更新时间:2023-10-29 05:56:27 27 4
mua khóa gpt4 giày nike

我在 IE 中一直遇到这个问题。我有两个 div,我用它们将选定的元素从一个拖到另一个。假设我在 div1 中有一个子元素(也是一个 div),在 div2 中有一些子元素。我在 div1 的子元素上调用 div2.appendChild() 方法。它从 div1 中删除子项并将其附加到 div2。如果我然后尝试将 child 追加回 div1,我会在 IE 中收到以下异常“意外调用方法或属性访问”。它在 Firefox 中完美运行。请参阅下面的 javascript 代码片段。

function moveSelectedGroupBoxItems(toLocation, grp){
document.body.className = 'groupBoxDefaultCursor';
if(groupBoxfromLocation != toLocation){
if(grp == groupBoxGroup){
var fromVal = document.getElementById(groupBoxfromLocation);
var toVal = document.getElementById(toLocation);

var children = fromVal.childNodes;
for (var i = children.length - 1; i >= 0; i--) {
if(children[i].className == 'groupBoxItemSelected'){
children[i].childNodes[0].name=toLocation;
toVal.appendChild(children[i]);
}
}
}
}
groupBoxfromLocation = '';
groupBoxGroup = '';
trả về false;
}

这基本上是在拖动时将选定的子 div 从一个父 div 移动到另一个父 div。

câu trả lời hay nhất

对于搜索结果的好处 - 我在 IE 6 和 7 中遇到了同样的错误“意外调用方法或属性访问”,当将子节点附加到命名空间元素时,但尚未声明命名空间。

var a=document.createElement("foo:blah");
var b=document.createElement("div");
a.appendChild(b); //Fails

为了解决这个问题,我必须将命名空间声明添加到 HTML 代码中:


或通过 javascript 动态(可能应该包含在 try/catch 中):

var namespaces = document.namespaces;
if(namespaces) {
namespaces.add("foo", null, null);
}

关于JavaScript IE appendChild() - 意外调用方法或属性访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708698/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress