2014-08-28 104 views
0

我已经阅读了一些关于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。 我很乐意为此获得一些帮助。

在此先感谢!

+0

请确定没有按工作不好:) – 2014-08-28 19:39:29

+0

在IE8中有'getElementById'问题? – adeneo 2014-08-28 19:39:51

+5

我没有看到任何与“文本”的ID。 – mason 2014-08-28 19:40:10

回答

0

对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> 

相关答案:https://stackoverflow.com/a/4729743/1960455

+0

可悲的是它没有帮助。 – Kendel 2014-08-28 19:48:42

+1

当你说document.getElementById('文本'),其中是你的页面中的ID为“文本”的元素? – Abhi 2014-08-28 19:50:29

+0

在表格标签中。我编辑了我的帖子。 – Kendel 2014-08-28 21:38:57

相关问题