js innerText与innerHTML的用法及firefox支持innerText firefox innertext
用法:
<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>
<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;
}
);
}
更多阅读
转载 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