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

为什么我这样写没有办法把php插在html的前面?

<ul id="test"><li>JavaScript</li><li>HTML</li></ul> 

<script type="text/javascript">

  var otest = document.getElementById("test");  

  var newnode=document.createElement("li");

  newnode.innerHTML="PHP";

  otest.insertBefore(newnode,otest[1]);


结果是php出现了,但是成了最后一个,明明我是insertbefore,为什么?


正在回答

3 回答

最后一行的otest[1]改为otest.lastChild

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

首先吧 我认为。。。otest不是一个数组吧。。。好吧就算它是好了,otest[1]它的内容为<li>HTML</li>,并不是一个节点。insertBefore(newnode,node);的参数要求是节点。

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

JasonYu_Law 提问者

为什么otest不是一个数组?不然lastChild也应该不能用吧,lastChild不就是提取最后一个子节点吗?
2017-01-03 回复 有任何疑惑可以回复我~
#2

说来有点可笑 回复 JasonYu_Law 提问者

它有子节点不代表它是数组,数组是要在脚本里定义出来的,不是dom里直接默认的,它有再多的节点都不是数组,不要搞混了。document.getElementById,是单个元素。假如otest = document.getElementsByTagName("li"); 那就是一个数组了。
2017-01-04 回复 有任何疑惑可以回复我~
#3

慕村1994845 回复 JasonYu_Law 提问者

本例中otest是ById的,看清楚做题呢,不要把前面的思维惯性用在每一个例子中去,
2017-01-09 回复 有任何疑惑可以回复我~

JS与PHP是同种语言吗???

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

JasonYu_Law 提问者

什么意思?
2017-01-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我这样写没有办法把php插在html的前面?

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