前言
在Javascript中,通过控件对象的innertext和innerhtml属性都可以对控件对象的显示文字进行读取和修改,那么innertext和innerhtml属性的区别到底在哪里呢?
一、区别
-
innertext:不识别html标签,非标准,在修改文字时自动去除空格和换行;在读取时,innertext属性只将文本内容完全读出
-
innerhtml:能够识别html标签,W3C标准,能够保留空格和换行;在读取时,innnerhtml属性能够将内置的html标签等内容完全读出
二、代码示例
1.代码演示
代码如下(示例):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="innertext_div">
</div>
<div id="innerhtml_div">
</div>
<p>
我是文字:
<span>
今天天气真好啊
</span>
</p>
<script>
//innertext:
var divtext = document.querySelector('#innertext_div');
divtext.innerText = '<strong>今天天气</strong> 真好啊';
//innerhtml:
var divhtml = document.querySelector('#innerhtml_div');
divhtml.innerHTML = '<strong>今天 天气</strong>真好啊';
//进行读操作
var p = document.querySelector('#innertext_div');
console.log(p.innerText);
console.log(p.innerHTML);
</script>
</body>
</html>