javascript - 为何CreateElement之后,在这标签前插入子节点,没用

查看:92
本文介绍了javascript - 为何CreateElement之后,在这标签前插入子节点,没用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input id="wb" type="text" />
    <input id="an" type="button" value="按钮" />
    <ul id="ul1">
        
    </ul>
    <script>
        window.onload=function()
        {
            var oWb = document.getElementById("wb");
            var btn = document.getElementById("an");
            var oUl = document.getElementById("ul1");
            btn.onclick=function()
            {
                var oLi = document.createElement("li");
               
                oLi.innerHTML = oWb.value;
                oUl.insertBefore(oLi,oLi[0]);   
              
            }
        }
    </script>
</body>
</html>

最后这一句 oUl.insertBefore(oLi,oLi[0]); 选择插入在oLi[0]为什么不行呀,我希望每次点击都是在最前面插入?不是每次点击都创建一个li,然后在这个索引第0个前插入,应该是没问题的呀

解决方案

node.insertBefore(newnode,existingnode);

第2个参数表示在这个节点前插入newnode,如果为null或未定义,那么insertBefore方法会将newnode添加到尾部,和appendChild效果相同

oLi[0]值为undefined

这篇关于javascript - 为何CreateElement之后,在这标签前插入子节点,没用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆