用insertBefore()实现插入节点

来源:9-13 插入节点insertBefore()

year1233

2016-08-20 17:18

为什么代码一直在运行,没有效果,具体代码如下,请大家帮忙看看问题出在哪,感谢

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
</head>
<body>
    <ul id="test">
        <li>JavaScript</li>
        <li>HTML</li>
    </ul>
    <script type="text/javascript">
        var otest = document.getElementById("test");    
        var node=otest.childNodes;
        for(var i=0;i<node.length;i++){
            if(node[i].innerHTML=="HTML"){            
                var newnode=document.createElement("li");
                newnode.innerHTML="PHP";            
                otest.insertBefore(newnode,node[i]);
            }
        }  
    </script>
    
</body>
</html>


写回答 关注

2回答

  • __zz
    2016-09-01 16:00:56

    我跟你写的一样,懂了

  • year1233
    2016-08-20 17:39:36

    我已经明白了,上面的代码是个死循环,插入节点那段代码放到for循环外面就好了

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题