通过javascript问题IE8标签更新
问题描述:
我正在尝试使用JavaScript来更新html标签中的文本。通过javascript问题IE8标签更新
它适用于除IE8以外的所有浏览器。在IE8中,标签似乎更新但不显示在屏幕上。
我在下面创建了演示代码,演示了这个问题。
由于
<html>
<head>
<script>
function sendRequest() {
document.getElementById('errormessage').textContent="test";
alert("textContent : "+document.getElementById('errormessage').textContent);
}
</script>
</head>
<body>
<a href="javascript:void(0)" onclick="sendRequest();"> Click me</a>
<br/>
<label id="errormessage" style="color:#F00"> </label>
</body>
</html>
答
document.getElementById('errormessage').innerHTML="test";
答
IE 8和下不具有的textContent。
试试这个:
function setText(el, text){
if(typeof el.innerText !== 'undefined')
el.innerText = text;
else
el.textContent = text;
}
function getText(el){
return el.innerText || el.textContent;
}
function sendRequest() {
var el = document.getElementById('errormessage');
setText(el, "test");
alert("textContent : "+getText(el));
}
+1
* innerText *和* textContent *属性是字符串,因此* typeof *测试应测试该属性,例如if(typeof el.textContent =='string')'。 – RobG 2012-02-21 00:15:58
感谢。它似乎因浏览器而异。 – Schaffer 2012-02-20 23:54:58
你可以使用jQuery,它应该照顾浏览器的不一致。 – elclanrs 2012-02-20 23:56:25
使用jQuery解决innerHTML中的浏览器不一致问题?怎么样? – RobG 2012-02-21 00:17:49