/**我现在想用个数组存些东西,但我不知道怎么去付值,如下面,我想把dt里的数据放到数组里然后付给id为copyshow的数据里,我下面那样写不对,求教**/
<div>
<div id="copyshow"></div>
</div>
<dl>
<dt>数据一</dt>
<dt>数据二</dt>
<dd></dd>
</dl>
</div>
<script type="text/javascript">
var dtshow = [];
var dtlength = document.getElementsByTagName("dt");
for (var i = 0; i < dtlength.length; i++) {
dtshow.push[i];
}
if (dtshow != null) {
for (var a = 0; a < dtshow.length; a++) {
document.getElementById("copyshow").innerHTML = dtshow;
}
}
</script>
for (var i = 0; i < dtshow.length; i++) { document.getElementById("copyshow").appendChild(dtshow[i]); }
第一次循环不需要,第二个循环换成如上格式。另外点我
这样也是可以的,但这样的话,效率会很低,因为每次遍历都会appendChild,这会引起浏览器不停地去计算去改变页面的结构,比较好的做法,是把要添加的内容缓存在一个变量里,然后一次性添加,这样只会引起浏览器更新一次页面
<script type="text/javascript"> var dtshow =new Array(); var dtlength = document.getElementsByTagName("dt"); for (var i = 0; i < dtlength.length; i++) { dtshow.push[i.InnerHTML]; } if (dtshow != null&&dtshow.length>0) { var _dtContent=""; for (var a = 0; a < dtshow.length; a++) { //这里看你怎么具体处理了,每个dt的内容是否需要换行,这里加了<br/>给你换行了 _dtContent+=a+"<br/>"; } document.getElementById("copyshow").innerHTML = _dtContent; } </script>
你的代码是错误的,循环给copyshow赋值,只会不停的替换里面的值,最终copyshow里面只保存了最后一个元素的值。
弄错了本来你的才是最佳答案的
@严文Live: 没关系啦~不在乎那个~嘿嘿~