DOM对象——创建节点和插入节点

创建节点和插入节点

很多时候我们想要在某个位置插入一个新的节点,此时我们首先需要有一个新的节点

创建节点

方法描述
createElement()创建一个新的节点,需要传入节点的标签名称,返回创建的元素对象
createTextNode()创建一个文本节点,可以传入文本内容
innerHTML()也能达到创建节点的效果,直接添加到指定位置

插入节点

方法描述
write()将任意的字符串插入到文档中
appendChild()向元素中添加新的子节点,作为最后一个子节点
insertBefore()向指定的已有的节点之前插入新的节点newltem;要插入的节点exsitingitem,参考节点需要参考父节点

添加段落

 <body>
        <button onclick="addPara();">添加段落</button>

        <div id="container">
            
        </div>
    </body >

第一种方法

 function addPara(){
            //创建P标签
            var p = document.createElement("p");
            console.log(p);
            //创建文本节点
            var text = document.createTextNode("这真的是一段文本");

            //将文本节点追加到元素节点中
            p.appendChild(text);
            console.log(p);

            //将P标签中内容添加到div中
            var div = document.getElementById("container");
            div.appendChild(p);
        }

第二种方法

 function addPara() {
            let p = document.createElement("p");
            //用innerHTML方法直接给P标签赋值
            p.innerHTML = "这是第二段文本";

            let div = document.getElementById("container");
            div.appendChild(p);
        }

第三种方法

function addPara(){
            let p = "<p>这是第三段文本</p>";
            let div = document.getElementById("container");
            div.innerHTML += p;
        }

第三种方法最简单,首先选择相应ID 的div标签,然后在P标签中添加内容,最后通过innerHTML方法将P标签中内容放到div标签中

图片的创建节点和插入节点的方式类似

添加文本框

 <body>
        <button onclick="addText();">添加文本框</button>

        <div id="container">

        </div>
    </body >

第一种方法

function addText(){
            let div = document.getElementById("container");
            let inp = document.createElement("input");
            inp.type = "text";
            inp.value = "没事就多喝水";
            div.appendChild(inp);
        }

第二种方法

function addText(){
            let div = document.getElementById("container");
            let inp = "<input type='text' value='有事你就别喝水'>";
            div.innerHTML+=inp;
        }

第二种方法将第一种方法的赋值部分整合,使得P标签成为一个字符串而不是一个节点,所以使用innerHTML方法而不是appendChild方法。这一点需要特别注意

添加下拉框

<body>
        <select name="music">
            <option value="1">北京欢迎你</option>
            <option value="2">南京欢迎你</option>
            <option value="3">西安欢迎你</option>

        </select>
        <button onclick="addOptions()">添加下拉框选项</button>
        <hr>
        <div id="container"></div>
    </body >
   function addOptions() {
            /*通过name属性获取下拉框对象*/
            let music = document.getElementsByName("music")[0];

            /*创建下拉选项*/
            let opt = document.createElement("option");

            //设置文本和值
            opt.value = '4';
            opt.text = '七里香';
            //将option添加到下拉选项中
            music.appendChild(opt);
        }
function addOption(){
            let music = document.getElementsByName('music');
            let opt = '<option value="5">从前从前有个人爱你很久</option>'
            music.innerHTML+=opt;
        }

最后一种方法,先通过name属性获取下拉框选项,创建要添加内容的字符串。将新的字符串通过innerHTML方法添加到下拉框中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值