从数组或对象添加选项值和内部 HTML
Adding option values and inner HTML from an Array or Object
我想知道使用 JavaScript 从数组中的每个项目创建一个新的 HTML 元素<option>
的最佳方法(或者如果有更好的方法,也许不使用数组?
我将如何运行一个循环,为数组中的每个项目创建一个新option
,然后将 url 分配为选项值。
这是我目前的JS小提琴。
我的JS如下:
var images = [
"Sports 1",
"http://lorempixel.com/50/50/sports/1",
"Sports 2",
"http://lorempixel.com/50/50/sports/2",
"Sports 3",
"http://lorempixel.com/50/50/sports/3",
];
var index, len;
for (index = 0, len = images.length; index < len; index++) {
var newoption = document.createElement('option');
newoption.innerHTML = images[index];
document.getElementById('imagelist').appendChild(newoption);
}
html 应如下所示:
<form id="imageform">
<select id="imagelist" name="imagelist">
<option value="http://lorempixel.com/50/50/1">Sports 1</option>
<option value="http://lorempixel.com/50/50/1">Sports 1</option>
<option value="http://lorempixel.com/50/50/1">Sports 1</option>
</select>
</form>
使用对象来存储键值对。
var images = {
"Sports 1" :
"http://lorempixel.com/50/50/sports/1",
"Sports 2":
"http://lorempixel.com/50/50/sports/2",
"Sports 3":
"http://lorempixel.com/50/50/sports/3",
};
var index, len;
var keys = Object.keys(images);
for (index = 0, len = keys.length; index < len; index++) {
var temp = keys[index];
var newoption = new Option(temp, images[temp]);
document.getElementById('imagelist').add(newoption);
}
https://jsfiddle.net/Luyxqu75/2/
与其
array
,不如array
objects
试试这个:
var images = [{
"key": "Sports 1",
"value": "http://lorempixel.com/50/50/sports/1"
}, {
"key": "Sports 2",
"value": "http://lorempixel.com/50/50/sports/2"
}];
for (var index = 0, len = images.length; index < len; index++) {
var newoption = document.createElement('option');
newoption.value = images[index].value;
newoption.innerHTML = images[index].key;
document.getElementById('imagelist').appendChild(newoption);
}
<form id="imageform">
<select id="imagelist" name="imagelist">
</select>
</form>
小提琴
相关文章:
- Javascript内部HTML动画
- Javascript,在body_class()=登录时更改内部html
- 带有输入值的内部HTML
- 内容可编辑分区-根据内部HTML位置的光标位置
- Chrome扩展:是否有一种方法可以运行JavaScript来获取页面上的内部html,并将其保存到扩展中的变量中
- 能够获取元素长度,但不能获取内部 HTML
- 如何在文本框中显示内部 HTML 输出
- 如何通过内部HTML设置图像
- 为什么我不能在变量上使用内部HTML属性
- 获取@Media打印类型的内部 HTML
- Javascript和CSS,内部HTML与外部文件
- 如何在委托中获取列表项中元素的内部HTML
- 敲除数据绑定=“;html:html,内部html点击事件不起作用
- 从内部HTML中删除所有锚标记或链接到 wikipedia.com
- 用jQuery.html更新span内部html在IE中不起作用
- 编译角度代码以便能够执行内部html操作
- 在html中未定义,使用内部html
- jsp内部html中的Javascript静态变量
- 如何为iframe的内部html编写css
- 使用javascript获取内部HTML元素