innerText innerHtml textContent兼容问题(
<!-- 正文开始 -->
IE支持innerHTML与innerText FireFox支持innerHTML与textContent 所以在IE与FireFox中使用显示内容时,必须得先判断浏览器,然后决定使用innerText还是textContent。 <div id="mydiv"> </div> <scripttype="text/javascript"> functionisIE() { returnnavigator.userAgent.toLowerCase().indexOf('msie')>0; } functionisFireFox() { returnnavigator.userAgent.toLowerCase().indexOf('firefox')>0; } functionshowTime() { varmydiv=document.getElementByIdx("mydiv"); if(isIE()) { //mydiv.innerText="<fontcolor='red'>"+newDate()+"</font>"; mydiv.innerHTML="<fontcolor='red'>"+newDate()+"</font>"; } if(isFireFox) { //mydiv.textContent="<fontcolor='red'>"+newDate()+"</font>"; mydiv.innerHTML="<fontcolor='red'>"+newDate()+"</font>"; } } window.setTimeout('showTime()',0); </script> |
还可以:
if(document.all){
document.getElementByIdx('element').innerText="mytext";
}else{
document.getElementByIdx('element').textContent="mytext";
}还可以:
<mce:script type="text/javascript"><!--
varlBrowser={};
lBrowser.agt=navigator.userAgent.toLowerCase();
lBrowser.isW3C=document.getElementByIdx?true:false;
lBrowser.isIE=((lBrowser.agt.indexOf("msie")!=-1)&&(lBrowser.agt.indexOf("opera")==-1)&&(lBrowser.agt.indexOf("omniweb")==-1));
lBrowser.isNS6=lBrowser.isW3C&&(navigator.appName=="Netscape");
lBrowser.isOpera=lBrowser.agt.indexOf("opera")!=-1;
lBrowser.isGecko=lBrowser.agt.indexOf("gecko")!=-1;
lBrowser.ieTrueBody=function(){
return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;
};
//为Firefox下的DOM对象增加innerText属性
if(lBrowser.isNS6){//firefoxinnerTextdefine
HTMLElement.prototype.__defineGetter__("innerText",
function(){
returnthis.textContent;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);
}
alert(lBrowser.isNS6);
// --></mce:script>