document对象中有innerHTML和innerText俩属性,这俩个属性都是获取document对象的文本内容的,这俩个属性有那些区别呢,通过几个例子来看一下。
示例一:
<html>
<head>
<title>innerHTML和innerTest的区别</title>
</head>
<body>
<p id="p1">hello world</p>
<script>
var p = document.querySelector("#p1")
alert(p.innerHTML)
alert(p.innerText)
</script>
</body>
</html>
通过IE浏览器打开,弹出内容为 "hello world" 和 "hello world"
通过 Firefox 浏览器打开,弹出内容为 "hello world" 和 "undefined"
通过 chrome 浏览器打开,弹出内容为 "hello world" 和 "hello world"
示例二:
<html>
<head>
<title>innerHTML和innerTest的区别</title>
</head>
<body>
<div id="div"><p id="p1">hello world</p></div>
<script>
var p = document.querySelector("#div")
alert(p.innerHTML)
alert(p.innerText)
</script>
</body>
</html>
通过IE浏览器打开,弹出内容为 <p id="p1">hello world </p> 和 hello world
通过 Firefox 浏览器打开,弹出内容为 <p id="p1">hello world </p> 和 undefined
通过 chrome 浏览器打开,弹出内容为 <p id="p1">hello world </p> 和 hello world
总结
inner HTML指的是从对象起始位置到终止位置的全部内容,包含HTML标签
innerText指的是从起始位置到终止位置的内容,但它去除标签
而且,innerHTML是所有浏览器都在支持,innerText是IE浏览器和chrome浏览器支持,其实,innerHTML是W3C组织规定的属性;而innerText属性是IE浏览器自己的属性,不过后来浏览器部分实现了这个功能;