為什么我的otest換成node就沒用??我在id上加了node了啊
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標(biāo)題文檔</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>
2016-05-12
insertBefore() 方法是在父節(jié)點的已有的子節(jié)點前插入一個新的子節(jié)點。otest為父節(jié)點,而node為子節(jié)點,所以將otest換成node就不行。
2016-06-13
關(guān)于最佳回答 insertBefore() 方法是在父節(jié)點的已有的子節(jié)點前插入一個新的子節(jié)點 這句話是沒問題的,但是指的是在使用的時候,此方法的對象必須是含有子節(jié)點的父節(jié)點,也就是?otest.insertBefore() 前面的otest是父節(jié)點。
而方法內(nèi)面的兩個節(jié)點僅代表 創(chuàng)建的新節(jié)點 以及 插入的位置(僅僅只為了指定一個位置),所以提問者更改后的代碼應(yīng)該是沒有問題的。
2016-05-17
我試著可以啊