+ -
当前位置:首页 → 问答吧 → javascript innerHTML累加值问题~~求解

javascript innerHTML累加值问题~~求解

时间:2010-05-29

来源:互联网

我想实现innerHTML的累加,做了个框架,是将所有获取的元素存到数组里的,然后在使用innerHTML += ""便会出现问题:问题如下:


它们用的是统一的HTML代码

<div class="div">     
    <div>AAA</div>     
    <div>BBB</div>   
    <div>CCC</div>
    <div>DDD</div>
</div>



/*********************************

一、传统方法,可以通过

**********************************/
<div class="div"> <div>AAA</div> <div>BBB</div> <div>CCC</div> <div>DDD</div> </div> <script> var dom = document.getElementsByTagName("div"); for(var i =0;i<dom.length;i++){ dom[i].innerHTML += "append"; } </script>
 提示:您可以先修改部分代码再运行
/*********************************

二、数组方法,只能累加第一个

**********************************/
<div class="div"> <div>AAA</div> <div>BBB</div> <div>CCC</div> <div>DDD</div> </div> <script> var temp = []; var dom = document.getElementsByTagName("div"); for(var i =0;i<dom.length;i++){ //先把每个元素存到数组里 temp.push(dom[i]); } for(var j =0;j<dom.length;j++){ //然后从数组里调用 temp[j].innerHTML += "append"; } </script>
 提示:您可以先修改部分代码再运行
//请分开测试,我求方法二的数组方式,应该如何实现方法一的功能?

作者: wanglong8906   发布时间: 2010-05-29

我只是很奇怪,人家dom本来就是个数组,你为啥又非要再把人家重弄到temp这个数组里头...

作者: aolu11   发布时间: 2010-05-29

1.
<div class="div"> <div>AAA</div> <div>BBB</div> <div>CCC</div> <div>DDD</div> </div> <script> var temp = []; var dom = document.getElementsByTagName("div"); for(var i =0;i<dom.length;i++){ //先把每个元素存到数组里 temp.push(dom[i]); } for(var j=1;j<dom.length;j++){ //然后从数组里调用 temp[j].innerHTML += "append"; } </script>
 提示:您可以先修改部分代码再运行
2.
<div class="div"> <div>AAA</div> <div>BBB</div> <div>CCC</div> <div>DDD</div> </div> <script> var temp = []; var dom = document.getElementsByTagName("div"); for(var i =0;i<dom.length;i++){ //先把每个元素存到数组里 temp.push(dom[i]); } for(var j=dom.length;j--;){ //然后从数组里调用 temp[j].innerHTML += "append"; } </script>
 提示:您可以先修改部分代码再运行
temp[0] 保存的是最外面的那个div,
而你的循环从0开始,一开始就改变了它内部的DOM结构,所以数组里面剩下的东西已经跟你看到的不是同一个了.所以后面的那个几个不会变.也就是你发的代码中的第二个例子为什么会这样的原因.

作者: faeng220   发布时间: 2010-05-30


<div class="div"> <div>AAA</div> <div>BBB</div> <div>CCC</div> <div>DDD</div> </div> <script> var temp = []; var dom = document.getElementsByTagName("div"); for(var i =0;i<dom.length;i++){ //先把每个元素存到数组里 temp.push(dom[i]); } for(var j =1;j<temp.length;j++){ //然后从数组里调用 // alert(temp[j]); temp[j].innerHTML += "append"; } temp[0].innerHTML += "append"; </script>
 提示:您可以先修改部分代码再运行

作者: xyq159589   发布时间: 2010-05-30

相关阅读 更多

热门下载

更多