IE8和getElementById不能很好地工作
问题描述:
我已经阅读了一些关于IE8导致getElementByID问题的帖子,但找不到解决方法。我的代码现在看起来像这样: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。 我很乐意为此获得一些帮助。
在此先感谢!
答
对IE8 此值是一个问题,但不是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>
请确定没有按工作不好:) – 2014-08-28 19:39:29
在IE8中有'getElementById'问题? – adeneo 2014-08-28 19:39:51
我没有看到任何与“文本”的ID。 – mason 2014-08-28 19:40:10