gpt4 book ai didi

javascript - 同一个 div 的多次迭代?

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:59 25 4
gpt4 key购买 nike

所以我在屏幕上有一个菜单,其中有几个相同的框 - 唯一的区别是框的编号不同。

<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 行连接字符串代码并不有趣(或效率不高)。

最佳答案

您可以使用像 mustache 这样的 JavaScript 模板引擎来保持代码的简单性和可维护性。

这里有一个例子(除了 mustache 还使用了 jQuery):
HTML:

<script type="text/template" id="template_divs">
{{#divs}}
<div id="{{id}}">
Hallo my name is {{name}}!
</div>
{{/divs}}
</script>

<div id="container">
</div>

JS:

var someDivs = {divs: [{id: 1, name: "Tom"},{id: 2, name: "Bob"},{id: 3, name: "Earl"}]};

var parsed = Mustache.render($('#template_divs').html(), someDivs);

$('#container').html(parsed);

我创建了一个 fiddle 来为您演示:http://jsfiddle.net/2gYCz/

关于javascript - 同一个 div 的多次迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21738342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com