為什么多次使用insertbefore最后只加了一個
<!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>HTML</li></ul>?
?<script type="text/javascript">
?o = document.getElementById("test"); ?
? var ll=document.createElement('li');
? ll.innerHTML='php';
? ? for(var i=0;i<3;i++){o.insertBefore(ll,o.firstChild)};
</script>?
</body>
</html>
2016-11-22
因為你只是新建了一個element,并且你輸出的不是o,而是每次輸出一個insertBefore操作,試試把代碼換成以下形式,就可以實現(xiàn)你想要的效果。
<!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>HTML</li></ul>?
?<script type="text/javascript">
? o = document.getElementById("test"); ?
? ? for(var i=0;i<3;i++){
? ? ? ? var ll=document.createElement('li');
? ? ? ? ll.innerHTML='php';
? ? ? ? o.insertBefore(ll,o.firstChild); ? ?
? ? }
</script>?
</body>
</html>
2016-11-12
因為每次for循環(huán)的時候o節(jié)點,也就是整個ul是變化的,每次o.firstChild都在變化,不是因為insertBefore是插在某節(jié)點的前面,只要每次插在第一個的前面就OK啦。