为了账号安全,请及时绑定邮箱和手机立即绑定

求教~.childNodes[-1]和。childNodes[1]的问题

<body>
<ul id="test"><li>JavaScript</li><li>HTML</li></ul> 
<script type="text/javascript">
  var otest = document.getElementById("test");  
  var myli=document.createElement("li");
  myli.innerHTML="php";
  otest.insertBefore(myli,otest.childNodes[-1]);
  // otest.insertBefore(myli,otest.childNodes[1]);  这样可以,但是otest.childNodes[-1]为何不可?
</script> 
</body>
</html>


正在回答

3 回答

我也是初学,可能和浏览器的兼容性有关,具体的就不知道了。

0 回复 有任何疑惑可以回复我~
#1

qq_四月天_10 提问者

好的,谢谢啦
2017-02-12 回复 有任何疑惑可以回复我~

document.write(otest.childNodes.length)输出一下你就知道了

0 回复 有任何疑惑可以回复我~
#1

qq_四月天_10 提问者

我试了一下,输出长度是:3,出现此情况的原因还是空文本吗?但是代码已经是挨着的了,不理解~ 同时如果这样,那么下标应该是0,1,2。然后我输出otest.childNodes[2]结果是[object HTMLLIElement]。 otest.childNodes[-1])代表的不应该是最后一个子节点吗,但我使用-2,-3同样无结果,不知是否描述清楚,辛苦了~
2017-02-10 回复 有任何疑惑可以回复我~
#2

洋葱宝宝 回复 qq_四月天_10 提问者

你知道用[]说明你知道返回的是一个数组,数组排序是0开始的,谁告诉你-1代表的是最后一个?-1代表最后一个起码得是slice(-1)和length-1吧
2017-03-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求教~.childNodes[-1]和。childNodes[1]的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信