setAttribute不起作用

时间:2013-03-25 16:25:23

标签: javascript html

我需要在名为'service'的select选项中添加第二个属性,但是当我检查源时,只设置'value'属性

for(var index = 0;  index < list.length; index ++){
        elementToBeAdded.options[index + 1]  = new Option(list[index].description, list[index].id);

        elementToBeAdded.options[index + 1].setAttribute("service",list[index].service);
}

输出:

<option value="myValue">
  my text
</option>

预期产出:

<option value="myValue" service="myService">
  my text
</option>

如何在创建选项时为每个选项添加属性?

最终我需要为每个选项保存一个额外的值,这样我就可以在选择一个选项时使用它

2 个答案:

答案 0 :(得分:0)

你可以为这种东西制作功能:

function setAttributes(element, attributes) {
  for(var key in attributes) {
    element.setAttribute(key, attributes[key]);
  }
}

并使用此功能:

setAttributes(option, {"value": "myValue", "service": "myService"});

答案 1 :(得分:0)

'查看来源'功能在大多数浏览器中的责任是显示浏览器最初读取的来源。因此,通过客户端代码对文档进行的进一步更改将不会反映在源的查看器中。但是,您可以使用浏览器的DOM检查器(大多数浏览器都有一个)来分析和查看文档的最新版本。

如果您的目标是确保在元素上正确设置属性,则只需尝试使用yourOption.getAttribute('service')检索其值。