我document.getElementByID在Mozilla 遇到了问题.在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>
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉为什么这在FireFox中不起作用?
我不认为这是问题的调用getElementById- 如果是,那么你没有提供足够的细节 - 但我可以告诉你Firefox和其他一些浏览器没有实现innerText.对于那些浏览器,您需要textContent直接使用或文本节点.
您可以textContent使用功能检测找出是否支持:
var textContentOrInnerText = "textContent" in document.body
? "textContent" : "innerText";
Run Code Online (Sandbox Code Playgroud)
然后,在代码中使用此变量进行属性访问:
text1[textContentOrInnerText] += x[i];
Run Code Online (Sandbox Code Playgroud)
随意将变量缩短为您感觉更舒适的东西.请注意,两个属性之间的行为存在一些细微差别,但大多数情况下您不会注意到它们.
textContent 标准行为是我在代码中首先测试的标准行为.
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |