在IE中使用.innerHTML添加选项元素不起作用

时间:2013-07-12 08:07:38

标签: javascript

我有一个变量ddEmail,其值为

<option value="cp@cp.ljj" selected="">cp@cp.ljj</option>.

当我尝试使用

将其放入选择元素时
document.getElementById("txtEmail").innerHTML = ddEmail;

然后在Firefox document.getElementById("txtEmail").innerHTML中显示与ddEmail相同的值,而在IE中则显示cp@cp.ljj</option>

有什么办法可以解决吗?

1 个答案:

答案 0 :(得分:1)

正如您所发现的那样,您无法可靠地使用innerHTML来设置现有select的选项。

通过select的{​​{1}}属性的最佳方式:

options

请注意,由于历史原因,它是var option = new Option("cb@cb.ljj", "cb@cb.ljj"); // Option text --------^ ^---- option value option.selected = true; document.getElementById("txtEmail").options.add(option); ,而不是addpush适用于很多浏览器,但不适用于所有浏览器。

另请注意,上述假设push中没有选项,或者您只想添加此选项,而不是替换已存在的所有选项。如果要删除以前的选项:

select