javascript - 生成列表

标签 javascript html

所以我想从数组生成一个列表,我编写了以下代码:

function list() {

    table = new Array("Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir");
    document.write('<select id="list1" size=6><option value="Rabat">Rabat</option><option     value="Casablanca">Casablanca</option></select>');

}

它有效,但我想知道是否有更好的编码

最佳答案

您可以使用循环来遍历列表中的所有项目:

// you can use this instead of the new Array() syntax:
var table = ["Rabat", "Casablanca", "Marrakech", "Fes", "Tanger", "Agadir"];
var select = '<select id="list1" size="6">';
for (var i=0; i<table.length; i++) {
    select += '<option value="' + table[i] + '">' + table[i] + '</option>';
}
select += '</select>';
document.write(select); //you should probably not use document.write though...

通常最好不要使用document.write。相反,您应该尝试选择要附加的元素,然后向其中添加文本。

关于javascript - 生成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502709/

相关文章:

javascript - 导入的组件文件在使用 es6 的 AngularJS 应用程序中不起作用

javascript - 网页在 IE 中呈现空白

javascript - YQL 获取返回空对象

javascript - 不能使用简单的 map ?

html - 如何将文本宽度与动态大小的图像/标题的宽度相匹配?

php - 使用 Ajax 或 JavaScript 选择下拉列表选项后在同一页面上执行 PHP 脚本

html - 表格边框垂直和水平不相交

html - 页脚不显示在页面底部

javascript - 如何分派(dispatch)一个 Action 以将数据保存在下一个 js 中

html - CSS 重复规则最佳实践