Javascript 是否存在子节点活动范围?
我创建了一个“p”节点并将其附加到“body”中。Javascript 是否存在子节点活动范围?,javascript,Javascript,我创建了一个“p”节点并将其附加到“body”中。 接下来,我更改了节点的样式,并将其从“主体”中删除。它成功了。 但当我在更改“body.innerHTML”后做同样的事情时,它就不起作用了。 他说, 未捕获NotFoundError:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点 为什么会这样 结果1 函数func1(){ var body=document.body; var p=document.createElement('p'); p、 id='p1
接下来,我更改了节点的样式,并将其从“主体”中删除。它成功了。
但当我在更改“body.innerHTML”后做同样的事情时,它就不起作用了。
他说, 未捕获NotFoundError:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点 为什么会这样
结果1
函数func1(){
var body=document.body;
var p=document.createElement('p');
p、 id='p1';
p、 innerHTML='从制作的图标由'授权;
体感儿童(p);
p、 style.color='#0055aa';
p、 style.backgroundColor='#ffaa00';
//body.removeChild(p);//它有效。
body.innerHTML+=''+p.innerHTML+'';
body.removeChild(p);//它不起作用。
}
您的问题是,首先设置将元素添加到主体:
body.appendChild(p);
body.innerHTML += '<p>' + p.innerHTML + '</p>';
然后清除正文的innerHTML:
body.appendChild(p);
body.innerHTML += '<p>' + p.innerHTML + '</p>';
以这种方式附加段落时会出现错误。
body.innerHTML += '<p>' + p.innerHTML + '</p>';
您试图删除文档中尚不存在的内容。这将替换掉完整的DOM,并用字符串构造的新节点替换它。它还将删除事件处理程序以及在DOM中存储或引用的所有其他数据。