[英]document.getElementById not working in Mozilla
我在Mozilla中遇到document.getElementByID
的问题。 在IE和Chrome中,我的代码运行良好。
我写了以下代码:
<script type="text/javascript">
function test(x, y) {
var text1 = document.getElementById('text1');
for (var i = 0; i < x.length; i++) {
text1.innerText += x[i]; // prints 12345
}
text1.innerText += "\ny: " + y; // prints y: 1,2,3,4,5
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
<div id="text1"></div>
</form>
</body>
谁能说出为什么在FireFox中不起作用?
我不认为这是对getElementById
的调用(如果确实如此),那么您没有提供足够的详细信息–但我可以告诉您Firefox和其他一些浏览器未实现innerText
。 对于这些浏览器,您需要直接使用textContent
或文本节点。
您可以使用功能检测来确定是否支持textContent
:
var textContentOrInnerText = "textContent" in document.body
? "textContent" : "innerText";
然后,将此变量用于代码中的属性访问:
text1[textContentOrInnerText] += x[i];
随意将变量缩短到您更喜欢的方式。 请注意,这两个属性之间在行为上有一些细微的差异,但是大多数情况下您不会注意到它们。
textContent
是标准行为,这就是为什么我在代码中首先对此进行测试的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.