问答详情
源自:9-13 插入节点insertBefore()

用insertBefore()实现插入节点

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

<!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>


提问者:year1233 2016-08-20 17:18

个回答

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

    我跟你写的一样,懂了

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

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