js在某元素节点前增加一个节点无法添加,控制台也没有报错
<body>
        <ul id="test"><li>JavaScript</li><li>HTML</li></ul>

        <script>
            var otest = document.getElementById("test");
            var oli = otest.childNodes[0];
            var nli = document.createElement('li');
            nli.innerHTML= 'php';
            for(var i=0;i<oli.length;i++){
                if(oli[i].innerHTML=='HTML'){
                    oli.insertBefore(nli,oli[i]);
                }
            }
        </script>

    </body>

1个回答

var oli = otest.childNodes[0];

表示第一个li节点,后面的循环用它就错了。

修改后:

var otest = document.getElementById("test");
var nli = document.createElement('li');
nli.innerHTML= 'php';
for(var i=0;i<otest.children.length;i++){
    if(otest.children[i].innerHTML=='HTML'){
        otest.insertBefore(nli,otest.children[i]);
    }
}
RazorE
RazorE 谢谢大佬
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问