insertBefore()指定的已有子节点之前插入新的子节点

Posted 安静的女汉纸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了insertBefore()指定的已有子节点之前插入新的子节点相关的知识,希望对你有一定的参考价值。

定义:

insertBefore() 方法在您指定的已有子节点之前插入新的子节点。

语法:

父级.insertBefore(新的子节点,指定的已有子节点) 

实例:

<input id="txt1" type="text"/>
<input id="btn1" type="button" value="创建li"/>
<ul id="ul1">
</ul>
window.onload=function ()
{
    var oBtn=document.getElementById(‘btn1‘);
    var oUl=document.getElementById(‘ul1‘);
    var oTxt=document.getElementById(‘txt1‘);
    oBtn.onclick=function ()
    {
        var oLi=document.createElement(‘li‘);
        var aLi=oUl.getElementsByTagName(‘li‘);
        
        oLi.innerhtml=oTxt.value;
        
        //父级.appendChild(子节点);
        if(aLi.length>0)
        {
            oUl.insertBefore(oLi, aLi[0]);
        }
        else
        {
            oUl.appendChild(oLi);
        }
    };
};

当ul中没有li时oUl.insertBefore(oLi, aLi[0]);会报错,所以判断aLi.length为0时使用oUl.appendChild(oLi);

以上是关于insertBefore()指定的已有子节点之前插入新的子节点的主要内容,如果未能解决你的问题,请参考以下文章

7.4 insertBefore()方法

js怎么用 insertbefore 插入表格

DOM操作插入新的子节点

js:插入节点appendChild insertBefore使用方法

insertBefore()

如何实现prepend并使用常规JavaScript附加?