Willerfu
路边有个胖子
采纳率60%
2016-02-24 06:47 阅读 3.6k

js appendChild 添加节点没有效果

想试下js里 appendChild()添加节点,结果没有反应,不知道问题处在哪里,火狐IE都没有效果。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>演示</title>
</head>

<script type="text/javascript">

    var node=document.createElement("li"); //创建一个li节点

    var textnode=document.createTextNode("Water"); //创建一个文本节点内容

    node.appendChild(textnode); //将文本节点内容,添加到li节点里面

    document.getElementById("test").appendChild(node); //将li节点,添加到test几点下面

</script>
<body>
    <ul id="test"><li>Coffee</li><li>Tea</li></ul>
</body>
</html> 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    qq_28088659 误入机械的小码 2016-02-24 07:14

    html执行代码是按顺序执行的,js代码在body前,所以js执行时,body还没有。这样的话添加元素是无法完成的。
    解决办法:

    法一:
    将js代码放在

    点赞 1 评论 复制链接分享
  • qq_28088659 误入机械的小码 2016-02-24 07:17

    html执行代码是按顺序执行的,js代码在body前,所以js执行时,body还没有。这样的话添加元素是无法完成的。
    解决办法
    法一:
    将js代码放在body后面

    法二:
    给body加一个onload事件,将js代码放在该事件处理函数中即可。

    点赞 1 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 2016-02-24 07:31
         <ul id="test"><li>Coffee</li><li>Tea</li></ul>
        <script type="text/javascript">
    
            var node = document.createElement("li"); //创建一个li节点
    
            var textnode = document.createTextNode("Water"); //创建一个文本节点内容
    
            node.appendChild(textnode); //将文本节点内容,添加到li节点里面
    
            document.getElementById("test").appendChild(node); //将li节点,添加到test几点下面
    
    </script>
    
    点赞 1 评论 复制链接分享
  • liuyan19891230 YvetteLau 2016-02-25 00:38

    将js代码放在window.onload = function(){}中。
    这样才会在DOM树加载好之后,开始执行函数中的内容。

    点赞 1 评论 复制链接分享

相关推荐