webAPI

innerHTML添加元素时的影响

2019-05-10  本文已影响0人  椋椋夜色

<!DOCTYPE html>
<html lang="zh-CN">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> innerHTML添加元素时的影响 </title>

    <style>
        .box {
            width: 200px;
            height: 200px;
            background-color: #f00;
        }
    </style>
</head>

<body>
    <!-- 如果用innerHTML的方式来追加一个新的元素,会让原来元素的事件丢失 -->

    <input type="button" value="html添加元素" id="btn1">
    <input type="button" value="document.createElement添加元素" id="btn2">

    <div class="box">
        <p>这是p</p>
        <!-- <h3>我是h3</h3> -->
    </div>

    <script>
        // 找元素
        var box = document.getElementsByClassName('box')[0];
        var p = document.getElementsByTagName('p')[0];
        // 给 p 添加点击事件;
        p.onclick = function() {
            alert("我是p标签点出来的");
        }


        // 添加 点击事件 元素;

        // innerHTML的方式来添加 innerHTML 追加的是标签;
        document.getElementById('btn1').onclick = function () {
            //给div加h3

            box.innerHTML += "<h3>我是h3</h3>"; // 我是h3
        }
    

        // document.createElement 的方式来添加; //使用appendChild追加内容,追加的是元素
        document.getElementById('btn2').onclick = function () {
            var h3 = document.createElement('h3'); // 创建元素,
            h3.innerHTML = "我是h3"; // 创建文本;
            box.appendChild(h3); // 我是h3
        }
    </script>

</body>

</html>

上一篇下一篇

猜你喜欢

热点阅读