document.getElementbyId 在 IE 11 中不起作用

document.getElementbyId is not working in IE 11

本文关键字:不起作用 IE getElementbyId document      更新时间:2023-09-26

我试图获取整个div内容,并使用document.getElementById显示在警报消息中。它在IE 8和9中工作正常,但在IE 10和11中不能。

下面是正在使用的代码片段。

<body>
  <div id="oDiv1"><input type="text" ></div>
  <div id="oDiv2">Div #2</div>
  <div id="oDiv3">Div #3</div>
  <input type="button" value="Show First DIV Content" onclick="fnGetId()">
</body>

脚本代码

<script type="text/javascript">
     function fnGetId() {
             var oVDiv=document.getElementById("oDiv1").innerHTML;
             alert(oVDiv);    
    }
</script>

正在该文本框中输入一些文本。在IE 8和9中,它将oDiv1内容与我输入的文本一起获取。像下面一样

<input type="text" value="aaa">

但是在IE 10和11中,它采用输入标签而不是我输入的值。

<input type="text" value="">

我哪里出错了?如何获取内容以及我在 IE11 中输入的值?

因为你没有得到正确的值,也没有得到正确的元素。这是一个黑客解决方案。

var oVDiv=document.getElementById("oDiv1").children[0].value;

更好的模式是创建一个真实的表单,并在提交时序列化表单值。

JSfiddle 示例