我已经阅读了一些关于IE8的帖子,这会导致getElementByID出现问题但无法找到解决方法。我的代码现在看起来像这样:
<script type="text/javascript">
//<![CDATA[
function settext(id) {
switch(id) {
case "0": document.getElementById('text').innerHTML="something";
break;
case "1": document.getElementById('text').innerHTML="again something";
break;
default: document.getElementById('text').innerHTML="something the third";
break;
}
}
//]]>
</script><select style="width: 145px" onchange="settext(this.value)">
<option value="-1">something</option>
<option value="0">again</option>
<option value="1">and so on</option>
</select>
<table width="100%" border="0" cellspacing="0" cellpadding="5" id="text"></table>
适用于Firefox,Chrome和IE10。 我很乐意得到一些帮助。
提前致谢!
答案 0 :(得分:0)
在IE8上 this.value 是一个问题,但不是 getElementById 。我认为您将innerHTML设置为非文本节点。
试试这个 - 它适用于文本节点。
UPDATE :您无法为表格的innerHTML设置值,您应该访问子单元格或行并更改它们:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function settext(id) {
switch(id) {
case "0":document.getElementById('text').rows[0].cells[0].innerHTML="something";
break;
case "1": document.getElementById('text').rows[0].cells[0].innerHTML="again something";
break;
default: document.getElementById('text').rows[0].cells[0].innerHTML="something the third";
break;
}
}
</script>
</head>
<body>
<select style="width: 145px" onchange="settext(this.options[this.selectedIndex].value)">
<option value="-1">something</option>
<option value="0">again</option>
<option value="1">and so on</option>
</select>
<table width="100%" border="1" cellspacing="0" cellpadding="5" id="text"><tr><td></td></tr></table>
</body>
</html>