<!DOCTYPE html><html><head> <title></title></head><body><div id="div1"></div><script type="text/javascript"> var a=document.getElementById('div1'); var x=document.createElement('p'); var arr=[1,2,2,3,5,8]; for (var i = 0; i < arr.length; i++) { alert(i); (function(i){ x.innerHTML=arr[i]; a.appendChild(x); return i; } (i)) }</script></body></html>为什么为什么为什么,总是只有组后一个,,求通俗易懂的讲解和方案,我田间事件也是只有最后一个,卡在这里了,好恼火
2 回答
已采纳
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
因为你只createElement一次,所以,每次appendChild时只有一个。
改为每次都 createElement就行了。
var a=document.getElementById('div1'); var arr=[1,2,2,3,5,8]; for (var i = 0; i < arr.length; i++) { (function(i){ var x=document.createElement('p'); x.innerHTML=arr[i]; a.appendChild(x); } (i)) }
qq_呆瓜_fkoIZ8
TA贡献12条经验 获得超5个赞
<script type="text/javascript"> var a=document.getElementById('div1'); var arr=[1,2,2,3,5,8]; for (var i = 0; i < arr.length; i++) { alert(i); (function(i){ var x=document.createElement('p'); x.innerHTML=arr[i]; a.appendChild(x); return i; }(i)) } </script>
要把createElement放在循环内,这样每次循环就能相应的createElement一个p
添加回答
举报
0/150
提交
取消