简单说下outerHTML、innerHTML和innerTEXT的区别及用法

来源:互联网 发布:win10无网络 无声音 编辑:程序博客网 时间:2024/04/29 20:41

在别人的博客上找到一篇简单介绍outerHTML、innerHTML和innerTEXT的区别及用法,下面弄过来和大家一起分享一下。

outerHTML的用法与innerHTML不同,outerHTML包括整个标签,而不仅限于标签内部的内容。对于一个id为"testdiv"的div来说,outerHTML、innerHTML以及innerTEXT三者的区别可以通过下图展示出来:


1.grid.getCell(i,3).innerHTML;curobj.nextSibling.innerHTML

innerHTML InnerHtml 属性不自动对进出 HTML 实体的特殊字符进行编码。HTML 实体允许显示特殊字符(如 < 字符),浏览器通常会将这些字符解释为具有特殊含义。< 字符会被解释为标志的开头,并且不会在页面上显示。若要显示 < 字符,将需要使用实体 <。

例如,如果 InnerHtml 属性设置为 "<b> Hello </b>",则 < 和 > 字符不会分别转换为 < 和 >。呈现的输出仍将是:<b> Hello </b>。浏览器将检测 <b> 标记并用粗体显示“Hello”文本。

警告 由于未对此文本进行 HTML 编码,因此可以在文本的 HTML 标记内嵌入脚本。如果该属性是使用用户输入动态设置的,请务必验证它的值以减少安全漏洞。
若要提供自动 HTML 编码和解码,请使用 InnerText 属性。

以上是微软的一个网站上介绍的,而笔者只是简单的认为取出来的是html格式。


2.typeName = temp.options[temp.selectedIndex].innerText;document.all("B1").innerText="关闭";name==name_other.options[i].innerText;opn.innerText=nameArray[i];

使用 InnerText 属性以编程方式修改 HTML 服务器控件的开始和结束标记之间的内容。

与 InnerHtml 属性不同,InnerText 属性自动对进出 HTML 实体的特殊字符进行编码。HTML 实体允许显示特殊字符(如 < 字符),浏览器通常会将这些字符解释为具有特殊含义。< 字符会被解释为标志的开头,并且不会在页面上显示。若要显示 < 字符,将需要使用实体 <。

例如,如果 InnerText 属性设置为 "<b> Hello </b>",则 < 和 > 符号分别转换为 < 和 >。呈现的输出将是:< b > Hello </b >。< 和 > 实体将向浏览器指示这些字符将显示在页上。浏览器将不检测 <b> 标记并用粗体显示该文本。显示在页上的文本是:<b> Hello </b>。

若要放置自动 HTML 编码和解码,请使用 InnerHtml 属性。

而笔者认为是取的文本的值。



********************************************************
innerHTML和innerText有什么作用?
用javascript可以控制显示一个HTML表单如text,textarea,等里面的文字,
如: document.all.表单ID.value="ABC";

但如何控制在页面上显示的文字呢?

这时就要用到innerHTML或innerText

<div id="div1"></div><p>
<div id="div2"></div>

<script>
document.all.div2.innerText="<font color=#ff0000>AAA</font>"; //可以这样动态修改,纯文字格式
document.all.div1.innerHTML="<font color=#ff0000>AAA</font>"; //HTML格式,动态生成一个表格也行
</script>
注意区分大小写



原创粉丝点击