【HTML DOM】关于直接删改操作body标签中子元素的问题

本文探讨了如何在JavaScript中删除<body>标签内的直接子元素,通过实验对比了getElementById和parentNode方法,并揭示了HTMLBodyElement接口的作用。重点在于理解节点层次和父元素的选择过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在想要删除<body>中直接的一级父元素时,给body标签添加id名并进行如下操作:

<...>
<body id="body">
<div id="div1">
</div>
<script>
var test=document.getElementById("body");
var child=document.getElementByid("div1");
body.removeChild(child);
</script>
</body>
</...>

会发现操作无效。

这时候用parentNode可以实现目的:

<...>
<body id="body">
<div id="div1">
</div>
<script>
var test=document.getElementById("body");
var child=document.getElementByid("div1");
child.parentNode.removeChild(child);
</script>
</body>
</...>

使用parentNode可以获取 目标子元素 的 父元素 再对目标子元素执行removeChild()操作。

这里刨根问底,使用document.write()可以得到究竟父元素为哪个——哪个父元素被我们调用了:

<...>
<body id="body">
<div id="div1">
</div>
<script>
var test=document.getElementById("body");
var child=document.getElementByid("div1");
child.parentNode.removeChild(child);
document.write(child.parentNode);
</script>
</body>
</...>

得到结果为:

[object HTMLBodyElement]

查资料知:

HTMLBodyElement 接口提供了特殊属性(除了从常规 HTMLElement 接口继承的属性),用于操作 <body> 元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值