[英]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.