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

这样为什么不行,哪错了

<!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 x=otest.lastChild;

  var a=document.createElement("li")

  a.innerHTML="php";

  otest.insertBefore(a,x)

  

  

  

</script> 


</body>

</html>



正在回答

4 回答

不要用lastChild,获取不到你要的节点,建议用lastElementChild。

参考代码

 var otest = document.getElementById("test");
 var x=otest.lastElementChild;
 var a=document.createElement("li");
 a.innerHTML="php";
 otest.insertBefore(a,x);

  


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

qq_小白_7 提问者

非常感谢!
2015-07-06 回复 有任何疑惑可以回复我~
#2

sososi1234

为什么我用lastChild可以运行?
2015-11-14 回复 有任何疑惑可以回复我~
#3

Perona 回复 sososi1234

浏览器的兼容性引起的。低版本的ie(ie6至ie8)支持lastChild。 IE9-10、Chrome、FireFox等支持 lastElementChild,建议用 lastElementChild。因为低版本的ie正在逐步淘汰。
2015-11-14 回复 有任何疑惑可以回复我~

你没错,代码运行正确,通过了呀~~

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

qq_小白_7 提问者

但是"php"没有插入到"HTML"之前,而是在最后面,已经定位最后子节点var x=otest.lastChild;然后otest.insertBefore(a,x),新设置的“li“,应该在”HTML“之前才对,为什么会在最后面
2015-07-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这样为什么不行,哪错了

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