翼度科技»论坛 编程开发 JavaScript 查看内容

js中textContent、innerText和innerHTML的用法以及区别

4

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
一.textContent的用法

1.设置标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         document.getElementById("dv").textContent = "改变了";
  7.     };
  8. </script>
  9. </body>
复制代码


2.获取标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         var text = document.getElementById("dv").textContent;
  7.         console.log(text);
  8.     };
  9. </script>
  10. </body>
复制代码

二.innerText的用法

1.设置标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         document.getElementById("dv").innerText = "改变了";
  7.     };
  8. </script>
  9. </body>
复制代码


2.获取标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         var text = document.getElementById("dv").innerText;
  7.         console.log(text);
  8.     };
  9. </script>
  10. </body>
复制代码

三.innerHTML的用法 1.设置标签中的文本内容

1.设置标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         document.getElementById("dv").innerHTML = "改变了";
  7.     };
  8. </script>
  9. </body>
复制代码


2.获取标签中的文本内容
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     document.getElementById("btn").onclick = function () {
  6.         var text = document.getElementById("dv").innerHTML;
  7.         console.log(text);
  8.     };
  9. </script>
  10. </body>
复制代码

四.innerText和textContent的区别


  • 设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,IE8不支持
  • 设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,IE8都支持
  • 如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
  • 判断这个属性的类型 是不是undefined,就知道浏览器是否支持
1.兼容代码设置任意的标签中间的任意文本内容
  1. <script>
  2.     function setInnerText(element, text) {
  3.         //判断浏览器是否支持这个属性
  4.         if (typeof element.textContent == "undefined") {//不支持
  5.             element.innerText = text;
  6.         } else {//支持这个属性
  7.             element.textContent = text;
  8.         }
  9.     };
  10. </script>
复制代码
2.兼容代码获取任意标签中间的文本内容
  1. <script>
  2.     function getInnerText(element) {
  3.         if (typeof element.textContent == "undefined") {
  4.             return element.innerText;
  5.         } else {
  6.             return element.textContent;
  7.         }
  8.     };
  9. </script>
复制代码
五.textContent、innerText和innerHTML的区别

textContent、innerText的效果是一样的,所以这里我只用innerText举例
1.设置标签中的文本内容

innerText的效果
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     function my$(id) {
  6.         return document.getElementById(id);
  7.     };
  8. </script>
  9. <script>
  10.     my$("btn").onclick = function () {
  11.         my$("dv").innerText = "哈哈";//设置文本
  12.         my$("dv").innerText = "<p>这是一个p</p>";//设置html标签的代码
  13.     };
  14. </script>
  15. </body>
复制代码

innerHTML的效果
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">这是一个div</div>
  4. <script>
  5.     function my$(id) {
  6.         return document.getElementById(id);
  7.     };
  8. </script>
  9. <script>
  10.     my$("btn").onclick = function () {
  11.         my$("dv").innerHTML = "哈哈";
  12.         my$("dv").innerHTML = "<p>这是一个p</p>";//设置Html标签的
  13.     };
  14. </script>
  15. </body>
复制代码

2.获取标签中的文本内容

innerText的效果
  1. <body>
  2. <input type="button" value="按钮" id="btn">
  3. <div id="dv">
  4.     <p>这是一个p</p>
  5. </div>
  6. <script>
  7.     document.getElementById("btn").onclick = function () {
  8.         //可以获取标签中的文本内容
  9.         console.log(document.getElementById("dv").innerText);
  10.     };
  11. </script>
  12. </body>
复制代码

innerHTML的效果

3.总结


  • 如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的
  • innerHTML是可以设置文本内容
  • innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的
  • 想要设置标签内容,使用innerHTML,想要设置文本内容,innerText或者textContent,或者innerHTML,推荐用innerHTML
  • innerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取.---获取不到标签的,文本可以获取
  • innerHTML才是真正的获取标签中间的所有内容
本篇博客来自于传智播客视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途

来源:https://www.jb51.net/javascript/284421.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具