我在google上找到了一些结果,但没什么令人满意的,所以我希望有人知道。
似乎使用innerHTML填充select元素在IE
中不起作用我已经设置了一个除了那个之外什么都不做的文件,除了IE之外它还适用于所有内容,这里的代码是有人关心的:
<html>
<head></head>
<body onload="populate();">
<script type="text/javascript">
function populate()
{
document.getElementById("test").innerHTML = '<option id="a">works</option>';
}
</script>
<select id="test"></select>
</body>
</html>
任何人都知道解决方案吗?我不想删除所有内容,然后手动使用appendChild,因为我从不同的函数返回html,这似乎很荒谬,这不起作用。
任何想法都会受到赞赏。
答案 0 :(得分:3)
编辑:这个答案是在OP说他不想使用appendChild()
之前写的。我会保留这个答案以供参考。
这篇文章将使用POJSF。 (普通的旧JavaScript框架,每个框架都基于框架!)
对于那些没有得到它的人来说,这是一次糟糕的尝试幽默...
您可以使用<option>
document.createElement()
,而不是使用innerHTML
var newOption = document.createElement('option');
newOption.label = 'works';
newOption.appendChild(document.createTextNode(newOption.label));
newOption.id = 'a';
document.getElementById('mySelect').appendChild(newOption);
如果您要删除<option>
中的所有<select>
:
var selectEl = document.getElementById('mySelect');
for(var i = selectEl.children.length - 1; i >= 0; i--) {
selectEl.removeChild(selectEl.children[i]);
}
答案 1 :(得分:1)