如何在 select.options.add(new Option()) 之后添加 2 个属性
How to add 2 attributes after select.options.add(new Option())
我的选择菜单显示颜色名称,但使用jQueryUI (custom.iconselectmenu)我喜欢添加一个具有相应颜色的头像块。我不知道如何添加这两个属性:
data-class="avatar" data-style="background-image: none; background-color: (the rgb value)
在我的代码中:
var data = [
{ text: 'Select a Color', value: '0' },
{ text: 'Antibes Green', value: 'rgb(95,173,72)' },
...
{ text: 'Versailles', value: 'rgb(206,204,130)' }
];
for(var j=0; j < data.length; j++) {
var d = data[j];
select.options.add(new Option(d.text, d.value))
}
或者,您可以在选项上使用 setAttribute
方法,如下所示:
var option = new Option(d.text, d.value);
option.setAttribute('data-class', 'avatar');
option.setAttribute('data-style', 'background-image: none; background-color: ' + d.value);
select.options.add(option);
这里有一个小提琴:https://jsfiddle.net/ad1no8ou/
我的偏好是避免使用字符串连接创建 HTML,因为当您不可避免地忘记在连接的值中转义特殊字符时,存在错误的风险。
尝试替换此行
select.options.add(new Option(d.text, d.value))
由
select.innerHTML += "<option value='" + d.text + "' data-class='avatar' data-style='background-image: none; background-color: (the rgb value)'>" + d.value +"</option>";
相关文章:
- 如何在侦听器之后添加可拖动功能
- AngularJS:在.post()之后添加事件侦听器
- jqgridnavgrid在搜索按钮和自定义按钮之后添加按钮
- 如何在wooccommerce脚本之后添加自定义java脚本
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 在使用jquery验证电子邮件之后添加一个类
- 如何使用Javascript或Jquery在X个
- 之后添加子菜单
- 在jQuery的显示和隐藏动画之后添加类
- 煎茶触摸 - 在组件之后添加/插入
- Qualtrics:在矩阵表中的文本框之前/之后添加不同的字符
- 如何在 select.options.add(new Option()) 之后添加 2 个属性
- 如何在 angularjs 中的简单获取请求 json 之后添加事件侦听器
- 在每组三个图像之后添加中断 jquery
- 使用 Jquery 在现有的 Hidden Div 之后添加 Div
- 在每 2 个
- 之后添加
- 之后添加
- 如何在表单中的每个输入/新行之后添加
标签 - 在showMessage()之后添加延迟
- 在state.go(ui路由器)之后添加功能
- 如何在#之后添加文本,但不能添加#
- 如何在replaceWith()之后添加事件