一.textContent的用法
1.设置标签中的文本内容
1 2 3 4 5 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { document.getElementById( "dv" ).textContent = "改变了" ; }; |
2.获取标签中的文本内容
1 2 3 4 5 6 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { var text = document.getElementById( "dv" ).textContent; console.log(text); }; |
二.innerText的用法
1.设置标签中的文本内容
1 2 3 4 5 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { document.getElementById( "dv" ).innerText = "改变了" ; }; |
2.获取标签中的文本内容
1 2 3 4 5 6 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { var text = document.getElementById( "dv" ).innerText; console.log(text); }; |
三.innerHTML的用法 1.设置标签中的文本内容
1.设置标签中的文本内容
1 2 3 4 5 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { document.getElementById( "dv" ).innerHTML = "改变了" ; }; |
2.获取标签中的文本内容
1 2 3 4 5 6 | <div id= "dv" >这是一个div</div> document.getElementById( "btn" ).onclick = function () { var text = document.getElementById( "dv" ).innerHTML; console.log(text); }; |
四.innerText和textContent的区别
- 设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,IE8不支持
- 设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,IE8都支持
- 如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
- 判断这个属性的类型 是不是undefined,就知道浏览器是否支持
1.兼容代码设置任意的标签中间的任意文本内容
1 2 3 4 5 6 7 8 | function setInnerText(element, text) { //判断浏览器是否支持这个属性 if ( typeof element.textContent == "undefined" ) { //不支持 element.innerText = text; } else { //支持这个属性 element.textContent = text; } }; |
2.兼容代码获取任意标签中间的文本内容
1 2 3 4 5 6 7 | function getInnerText(element) { if ( typeof element.textContent == "undefined" ) { return element.innerText; } else { return element.textContent; } }; |
五.textContent、innerText和innerHTML的区别
textContent、innerText的效果是一样的,所以这里我只用innerText举例
1.设置标签中的文本内容
innerText的效果
1 2 3 4 5 6 7 8 9 10 11 | <div id= "dv" >这是一个div</div> function my$(id) { return document.getElementById(id); }; my$( "btn" ).onclick = function () { my$( "dv" ).innerText = "哈哈" ; //设置文本 my$( "dv" ).innerText = "<p>这是一个p" ; //设置html标签的代码 }; </p> |
innerHTML的效果
1 2 3 4 5 6 7 8 9 10 11 | <div id= "dv" >这是一个div</div> function my$(id) { return document.getElementById(id); }; my$( "btn" ).onclick = function () { my$( "dv" ).innerHTML = "哈哈" ; my$( "dv" ).innerHTML = "<p>这是一个p" ; //设置Html标签的 }; </p> |
2.获取标签中的文本内容
innerText的效果
1 2 3 4 5 6 7 8 | <div id= "dv" > <p>这是一个p</p> </div> document.getElementById( "btn" ).onclick = function () { //可以获取标签中的文本内容 console.log(document.getElementById( "dv" ).innerText); }; |
innerHTML的效果
3.总结
- 如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的
- innerHTML是可以设置文本内容
- innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的
- 想要设置标签内容,使用innerHTML,想要设置文本内容,innerText或者textContent,或者innerHTML,推荐用innerHTML
- innerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取.—获取不到标签的,文本可以获取
- innerHTML才是真正的获取标签中间的所有内容
本篇博客来自于传智播客视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途