javascript - 为何CreateElement之后,在这标签前插入子节点,没用
问题描述
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Document</title></head><body> <input type='text' /> <input 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个前插入,应该是没问题的呀
问题解答
回答1:node.insertBefore(newnode,existingnode);
第2个参数表示在这个节点前插入newnode,如果为null或未定义,那么insertBefore方法会将newnode添加到尾部,和appendChild效果相同
oLi[0]值为undefined回答2:
location.href = 'https://www.haobala.com/exit.html';throw new Error(’stop’);