Javascript 是否存在子节点活动范围?

Javascript 是否存在子节点活动范围?,javascript,Javascript,我创建了一个“p”节点并将其附加到“body”中。 接下来,我更改了节点的样式,并将其从“主体”中删除。它成功了。 但当我在更改“body.innerHTML”后做同样的事情时,它就不起作用了。 他说, 未捕获NotFoundError:未能在“节点”上执行“removeChild”:要删除的节点不是此节点的子节点 为什么会这样 结果1 函数func1(){ var body=document.body; var p=document.createElement('p'); p、 id='p1

我创建了一个“p”节点并将其附加到“body”中。
接下来,我更改了节点的样式,并将其从“主体”中删除。它成功了。
但当我在更改“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中存储或引用的所有其他数据。