rAZ0Re
2019-11-06 11:51
采纳率: 50%
浏览 592
已采纳

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条回答 默认 最新

  • FeiRouBing 2019-11-06 13:17
    最佳回答
    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]);
        }
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题