帅渣渣
2016-05-11 19:34
<!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>
insertBefore() 方法是在父节点的已有的子节点前插入一个新的子节点。otest为父节点,而node为子节点,所以将otest换成node就不行。
关于最佳回答 insertBefore() 方法是在父节点的已有的子节点前插入一个新的子节点 这句话是没问题的,但是指的是在使用的时候,此方法的对象必须是含有子节点的父节点,也就是 otest.insertBefore() 前面的otest是父节点。
而方法内面的两个节点仅代表 创建的新节点 以及 插入的位置(仅仅只为了指定一个位置),所以提问者更改后的代码应该是没有问题的。
我试着可以啊
JavaScript进阶篇
468783 学习 · 22528 问题
相似问题