老师我这个批量删除为什么删除的是1,3,5呢?

老师我这个批量删除为什么删除的是1,3,5呢?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="box">
        <p>我是段落标签1</p>
        <p>我是段落标签2</p>
        <p>我是段落标签3</p>
        <p>我是段落标签4</p>
        <p>我是段落标签5</p>
    </div>
    <script>
        var box = document.getElementById('box');
        // 批量删除节点
        var ps = document.getElementsByTagName('p');
        for(var i = 0; i < 3; i++){
            box.removeChild(ps[i]);

        }
    </script>
</body>
</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2022-09-15 09:47:40

同学你好,因为元素删除后会改变其他元素所处位置,for循环中i值依次是0 1 2, 表示依次删除第 1 2 3 位置处的元素,代码执行时,内容为“我是段落标签1”的p元素处于第一位置先被删除,然后,内容为“我是段落标签3”的p标签处于第二位置被删除,最后,内容为“我是段落标签5”的p标签处于第三位置,所以最终删除结果为1,3,5。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师