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

为什么我的otest换成node就没用??我在id上加了node了啊

<!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 id= "node">HTML</li></ul> 

 

<script type="text/javascript">


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

  var node=document.getElementById("node");

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

  newnode.innerHTML="PHP";

  otest.insertBefore(newnode,node);

</script> 


</body>

</html>


正在回答

3 回答

insertBefore() 方法是在父节点的已有的子节点前插入一个新的子节点。otest为父节点,而node为子节点,所以将otest换成node就不行。

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

关于最佳回答 insertBefore() 方法是在父节点的已有的子节点前插入一个新的子节点 这句话是没问题的,但是指的是在使用的时候,此方法的对象必须是含有子节点的父节点,也就是 otest.insertBefore() 前面的otest是父节点。

而方法内面的两个节点仅代表 创建的新节点 以及 插入的位置(仅仅只为了指定一个位置),所以提问者更改后的代码应该是没有问题的。

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

我试着可以啊

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

举报

0/150
提交
取消

为什么我的otest换成node就没用??我在id上加了node了啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号