怪异的猫 2023-04-10 22:08 采纳率: 100%
浏览 21
已结题

JS 有点没搞明白创建的节点为什么不能多次使用

有点没搞明白创建的节点为什么不能多次使用,


<!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>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            position: relative;
            z-index: -1;
            width: 100%;
            height: 100%;
        }
    </style>
</head>

<body>
    <input type="button" value="加粗画笔">
    <input type="button" value="画笔变细">
    <input type="button" value="红色">
    <script>
        let oDiv = document.createElement("div");
        document.onmousedown = function (eve) {
            //let oDiv = document.createElement("div");  
            let wd = oDiv.style.width = 16 + "px";
            let ht = oDiv.style.height = 16 + 'px';
            oDiv.style.background = 'black';
            oDiv.style.position = "absolute";
            oDiv.style.borderRadius = 50 + "%";
            oDiv.style.zIndex = -1;
            let e = eve || window.event;
            oDiv.style.left = e.pageX + "px";
            oDiv.style.top = e.pageY + "px";
            document.body.appendChild(oDiv);
        }
    </script>
</body>

</html>
  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2023-04-10 23:25
    关注

    以下内容部分参考ChatGPT模型:


    创建的节点在使用后会被添加到DOM树中,如果要再次使用需要重新创建一个节点添加到DOM树中。这是因为一个节点只能存在于一个父节点下,如果重复使用同一个节点会导致DOM树的结构错误,从而影响页面的渲染和交互。

    例如,以下代码创建了一个新的div节点,并将其添加到body元素中:

    const div = document.createElement('div');
    document.body.appendChild(div);
    

    如果想再次使用这个节点,需要重新创建一个新的div节点:

    const div2 = document.createElement('div');
    document.body.appendChild(div2);
    

    这样就可以在DOM树中同时存在两个div节点,分别对应div和div2变量。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月10日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)