InnerHTML、OuterHTML、InnerText、OuterHTML的区别:

InnerHTML、OuterHTML、InnerText、OuterHTML的区别:

.NET Framework类库中:

InnerHTML、InnerText包含在System.Web.UI.HtmlControls命名空间内。

InnerHTML:设置或返回HTML 服务器控件的开始标签和结束标签内的HTML文本。不自动对进出 HTML 实体的特殊字符进行编码。

InnerText:设置或返回HTML 服务器控件的开始标签和结束标签内的文本,自动对标记中的特殊字符(如”<”、“>"等)转换HTML等价的实体。(有关HTML实体的请参考以下链接:http://blog.csdn.net/liangneng/article/details/8598939)。

如HTML中的内容是:

<html>
    <body>
        <form id="form1" runat="server">
            <div id="div1" runat="server"></div>     
        </form>
    </body>
</html>

设置div1中的值:

div1.InnerText= "<p>< change;</p>";

则服务器会对字符串“<p>&lt; change;</p>”中的特殊字符进行编码,并插入在div1标签内。最终呈现的HTML的页面中div1标签内容如下:
         <div id="div1">&lt;p&gt;&amp;lt; change;&lt;/p&gt;</div>
且浏览器显示为:<p>&lt; change;</p>

 

如果设置div1中的值:

div1.InnerHtml="<p>< change;</p>"; 
服务器不会对字符串” <p>&lt; change;</p>”中的特殊字符进行编码,并插入在div1标签内。最终呈现的HTML的页面源代码中div1标签内容如下:
         <div id="div1"><p>&lt; change;</p></div>
且浏览器显示为:< change

 

JavaScript中:

innerHTML:设置或获取位于对象起始和结束标签内的HTML格式的内容;
outerHTML:设置或获取对象及其自身标签在内的 HTML 格式的内容; 
innerText:设置或获取位于对象起始和结束标签内的文本内容(不包括HTML标签);
outerText:设置(包括标签)或获取(不包括标签)对象的文本内容;

有HTML如下所示:

<html>    
    <body>
        <form id="form1" runat="server">    
            <div id="test">
                <span>初始内容:</span><br />        
                
                <em>123</em><span style="color: red">   test1    </span>test2
            </div>
            <span id="content" runat="server"></span>
            <input type="button" id="button1" value="click me" onclick ="change()"/>
        </form>
    </body>
</html>

用于测试的JavaScript脚本:

<script type="text/javascript">                             
    function change(){
        content.innerHTML =".innerHTML:<br/>"
        content.innerText +=test.innerHTML ;
        content.innerHTML +="<br/>.innerText:<br />";
        content.innerText +=test.innerText;
        content.innerHTML +="<br/>outerHTML:<br />";
        content.innerText +=test.outerHTML;
        content.innerHTML +="<br/>outerText:<br />";
        content.innerText += test.outerText;
        content.innerHTML +="<br/>";
    }
</script>

输出:

.innerHTML:

<span>初始内容:</span><br> 
 
<em>123</em><span style="color: red"> test1 </span>test2

.innerText:
初始内容:
123 test1 test2
outerHTML:
<div id="test">
<span>初始内容:</span><br> 
 
<em>123</em><span style="color: red"> test1 </span>test2
</div>
outerText:
初始内容:
123 test1 test2

说明:

innerHTML:注意方法的大小写。


如果不明白上面出现的空行,在这里补充一下页面中有关空格和换行的知识:
<br />标签表示一个换行。HTML的实体集规定:用"&nbsp"表示一个空格。
不管书写时如何编排空格和回车换行符,浏览器显示HTML页面时,相邻两个可显示的文本之间的多个回车换行符或空格合并为一个空格。
如:HTML签标<span>   1   2   </span>显示成:1 2 ,1的前面没有显示空格。
而每遇到一个“&nbsp”就插入一个显示空格,每遇到一个<br />标签就进行换行显示。如:


待补充内容:设置值时的区别。

参考资料:

http://blog.163.com/suizhikuo@126/blog/static/3162816220127177504196/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值