我有一个txt变量,其中包含我需要为下拉列表设置的html字符串。该代码在除IE之外的所有其他浏览器中都能正常工作。基本代码如下所示。
while循环使用更多代码
document.getElementById('theSelector').innerHTML = txt;
其中'theSelector'
是我的表单选择元素的ID
所以基本上IE浏览器没有生成我的列表。如果您想查看源代码和我正在做的所有事情,我会在下面发布我的网页。如果你想看看网站应该如何运作,只需在另一个不是的浏览器中运行它。
答案 0 :(得分:4)
根据您的评论,它没有生成您的列表,而Jared评论您尝试添加选项,请尝试以下内容:
var list = document.getElementById('theSelector');
var newOp = document.createElement("option");
newOp.text = "Txt";
newOp.value = "1";
list.options.add(newOp);
修改强>
根据Jared的评论,以下可能会为您提供一些性能优势:
list.options[list.options.length] = newOp;
答案 1 :(得分:4)
正如其他人所提到的,这是所有IE版本中的错误。我会使用@AdamRackis的解决方案,但如果你必须使用字符串构建HTML,唯一的解决方法似乎是使用outerHTML
并在字符串中包含你的<select>
。
演示:http://jsfiddle.net/ThinkingStiff/TWYUa/
HTML:
<select id="select"></select>
脚本:
var options = '<select id="select"><option>one</option><option>two</option></select>';
document.getElementById( 'select' ).outerHTML = options;
答案 2 :(得分:-1)
使用Jquery
$('#theSelector').html(txt);