innerText innerHtml textContent兼容问题(

hong 2011-08-17

<!-- 正文开始 -->

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>

相关推荐

swiftwwj / 0评论 2019-12-29