【发布时间】:2014-03-11 09:25:52
【问题描述】:
所以我在屏幕上有一个菜单,其中有几个相同的框 - 唯一的区别是这些框的编号不同。
<div id="1">
<select name="option1">
<option value="1">foo</option>
<option value="2">bar</option>
</select>
</div>
<div id="2">
<select name="option2">
<option value="1">foo</option>
<option value="2">bar</option>
</select>
</div>
每个 div 是 900~ 行代码,每当我更改时,我都必须更改每个 div - 是编写一个 for 循环并使用 document.write 完成仅编写一次 div 的最佳方法(并减小文件大小)?
var divCode
for (var i=1; i < 7; i++){
divCode +='
<div id="'+i+'">
<select name="option'+i+'">
<option value="1">foo</option>
<option value="2">bar</option>
</select>
</div>'
}
document.write('divCode')
或者在javascript中有更好的方法吗?我想有一个,考虑到编写 900 行串联的字符串代码并不有趣(或高效)。
【问题讨论】:
-
通过有几个编号为 900 行的
<div>s,您一般要达到什么目的? -
有人曾经告诉我..“如果您使用的是
document.write(),那么您很可能是错的”。 -
不要引用
divCode——这只会写入字符串,而不是其值中的 HTML。 -
好吧,如果我们谈论的是示例代码的失败,除了
'divCode',你还有多行字符串文字(语法错误)和undefined的初始值......跨度> -
首先,把那些分号放在里面,伙计!
标签: javascript html iteration