js innerText与innerHTML的用法及firefox支持innerText firefox innertext

js中 innerHTML与innerText的用法与区别及解决Firefox不支持Js的InnerHtml问题

用法:

<div id="test">

<span>test1</span> test2

</div>

在 JS中可以使用:

test.innerHTML:

也就是从对象的起始位置到终止位置的全部内容,包括Html标签。

上例中的test.innerHTML的值也就是“<span>test1< /span> test2 ”。

test.innerText:

从起始位置到终止位置的内容, 但它去除Html标签

上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。

test.outerHTML:

除了包含innerHTML的全部内容外, 还包含对象标签本身。

上例中的text.outerHTML的值也就是<div id="test">< span>test1</span> test2</div>

完整示例:

<div id="test">

<span>test1</span> test2

</div>

<a href="javascript:alert(test.innerHTML)">innerHTML内容</a>

<a href="javascript:alert(test.innerText)">inerHTML内容</a>

<a href="javascript:alert(test.outerHTML)">outerHTML内容</a>

特 别说明:

innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使 用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正 则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例:

<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/& lt;.+?>/gim,''))">无HTML,符合W3C标准</a>

-------------------------------------------------------------------------------------------------------------------------------

<html>

<head></head>

<frameset frameborder="yes" frameborder="1" rows="40%,*">

<frame name="top" src="1.html">

<frame name="bottom" src="2.html">

</frameset>

</html>

<html>

<head>

<script language="javascript">

function init()

{

var aaa = parent.window.frames[0].document.body.innerHTML;

alert(aaa);

}

</script>

</head>

<body>

<p align="center">nothing</p>

<p align="center"><input type="button" onclick="init()"; value="click"></p>

</body>

</html>

<html>
js innerText与innerHTML的用法及firefox支持innerText firefox innertext

<center> 汽车 房产 女人</center>

</html>

解决Firefox不支持Js的InnerHtml问题

正 文:

<

由于W3C标准对Javascript语法进行了规范,即ECMAScript。而Firefox严格遵守ECMAScript规范,所以对 javascript一些属性和方法不支持(其实不能说是Firefox不支持,而是对不规范的写法不支持,符合标准的写法还是支持的),Firefox 希望程序设计师都采用规范的ECMAScript标准来书写代码,这样一些适应传统习惯的IE下的写法就会撞到很多的问题。 比如飘 易经常使用的利用JS的InnerHtml属性动态替换广告代码的写法就在Firefox浏览器下不支持了。如飘易的这个文章:网站加载广告大提速,广告不再烦,在Firefox下就不能正确替换了。 原来的代码如 下:

<span id="ad_1"></span>

<SPAN id="ad_11">

<script language="JavaScript" src="http://www.360doc.com/js/ad_1.js"></script>

</SPAN>

<SCRIPT>ad_1.innerHTML=ad_11.innerHTML;ad_11.innerHTML="";</SCRIPT>

上 面的代码在IE、chrome等浏览器下可以被正确的执行替换,而在Firefox下就不能。其实解决方法也很简单,就让我们按照ECMAScript规 范写代码即可。上面的代码修正为下面的即可:

<span id="ad_1"></span>

<SPAN id="ad_11">

<script language="JavaScript" src="http://www.360doc.com/js/ad_1.js"></script>

</SPAN>

<SCRIPT>document.getElementById("ad_1").innerHTML=document.getElementById("ad_11").innerHTML;document.getElementById("ad_11").innerHTML="";</SCRIPT>

不 要直接使用DIV或SPAN的id,而是通过 document.getElementById("div_id") 来执行替换即可。另 外,Firefox是不支持 innerTEXT 属性的。

让Firefox支持innerText的方法

function isIE(){ //ie? 判断是不是ie

if (window.navigator.userAgent.indexOf("MSIE")>=1)

return true;

else

return false;

}

if(!isIE()){

HTMLElement.prototype.__defineGetter__

(

"innerText",

function ()

{

var anyString = "";

var childS = this.childNodes;

for(var i=0; i<childS.length; i++)

{

if(childS[i].nodeType==1)

anyString += childS[i].tagName=="BR" ? 'n' : childS[i].innerText;

else if(childS[i].nodeType==3)

anyString += childS[i].nodeValue;

}

return anyString;

}

);

}

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/73327.html

更多阅读

转载 fairly,quite,rather,very与pretty的用法区别 fairlylife

谢谢朋友!很不错的资料。原文地址:fairly,quite,rather,very与pretty的用法区别作者:一路花香这几个词都可表示程度,用法区别如下:1. 含义上的区别:(1) fairly 语气最轻,尽管经常与褒义词连用,但由于语气较弱,往往不带明显的恭维或赞赏,通常

js中outerHTML与innerHTML的区别 js outerhtml

1、使用innerHTML的时候将找着元素的内容(不包含元素本身)使用outerHTML的时候将找着元素的内容(包含元素本身)2、示例:<html><body><pid="p1">HelloWorld!</p><script>var html =document.getElementByIdx_x_x("p1").outerHT

sure与certain的用法区别 certain sure

sure与certain的用法区别一、两者在用法上的相同点两者都可用作表语,表示“一定”或“确信”,有时可互换。互换的场合应注意以下几点用法:1. 表示说话者的态度或看法即表示说话者自己的态度或看法,其意为“一定会”“肯定会”。此时

matlab中holdon与holdoff的用法 示波器holdoff

hold on 是当前轴及图形保持而不被刷新,准备接受此后将绘制hold off 使当前轴及图形不在具备被刷新的性质hold on 和holdoff,是相对使用的前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得

法语中现在分词与副动词的用法及区别 副动词和现在分词

主要区别;副动词用来修饰动词,现在分词用来修饰名词或代词;现在分词多用于书面语,口语中很少使用,而副动词可以用于口语。现在分词(le participe présent)构成:去掉直陈式第一人称复数的词尾-ons,另加-ant例如,faire : nous faisons→ fais

声明:《js innerText与innerHTML的用法及firefox支持innerText firefox innertext》为网友柸揂魢灑分享!如侵犯到您的合法权益请联系我们删除