Heim >Web-Frontend >js-Tutorial >textContent在Firefox下与innerText等效的属性_javascript技巧

textContent在Firefox下与innerText等效的属性_javascript技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-05-16 19:13:43990Durchsuche

在IE和Opear下,DOM对象支持innerText属性,可以很方便的去除HTML标签。
但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效。

演示实例:

Hi,I'm cnlei.Welcome to my homepage:http://www.cnlei.com.


<script> <BR>function getInnerText(obj){ <BR> return document.all?obj.innerText:obj.textContent; <BR>} <BR>var str = getInnerText(document.getElementById("TestObj")); <BR>alert(str); <BR></script>

为Firefox下的DOM对象增加innerText属性:
<script> <BR>var lBrowser = {}; <BR>lBrowser.agt = navigator.userAgent.toLowerCase(); <BR>lBrowser.isW3C = document.getElementById ? true:false; <BR>lBrowser.isIE = ((lBrowser.agt.indexOf("msie") != -1) && (lBrowser.agt.indexOf("opera") == -1) && (lBrowser.agt.indexOf("omniweb") == -1)); <BR>lBrowser.isNS6 = lBrowser.isW3C && (navigator.appName=="Netscape") ; <BR>lBrowser.isOpera = lBrowser.agt.indexOf("opera") != -1; <BR>lBrowser.isGecko = lBrowser.agt.indexOf("gecko") != -1; <BR>lBrowser.ieTrueBody =function (){ <BR> return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body; <BR>}; <br><br>//为Firefox下的DOM对象增加innerText属性 <BR>if(lBrowser.isNS6){ //firefox innerText define <BR> HTMLElement.prototype.__defineGetter__( "innerText", <BR> function(){ <BR> return this.textContent; <BR> } <BR> ); <BR> HTMLElement.prototype.__defineSetter__( "innerText", <BR> function(sText){ <BR> this.textContent=sText; <BR> } <BR> ); <BR>} <br><br>alert(lBrowser.isNS6); <BR></script>

附录 DOM Reference:
Firefox DOM参考:http://www.mozilla.org/docs/dom/domref/dom_shortTOC.html
IE DOM参考:
http://msdn2.microsoft.com/en-us/library/ms533050.aspx 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn