zoukankan      html  css  js  c++  java
  • js innerText、textContent、innerHTML的区别和各自用法

    //自定义函数
      function my$(id) {
        return document.getElementById(id);
    }
      //点击按钮设置div中的文本内容
      my$("btn").onclick = function () {
        //设置标签中间的文本内容,应该使用textContent属性
        my$("dv").innerText = "啊,这是div";
        /* my$("dv").textContent="this is div标签"; */
        
        //获取标签中间的文本内容
        console.log(my$("dv").innerText);
        /* console.log(my$("dv").textContent); */
     };
     
    设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,IE8不支持
    设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,IE8都支持
      如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
      判断这个属性的类型 是不是undefined,就知道浏览器是否支持
    //兼容代码
      //设置任意的标签中间的任意文本内容
      function setInnerText(element,text) {
        //判断浏览器是否支持这个属性
        if(typeof element.textContent =="undefined"){//不支持
          element.innerText=text;
        }else{//支持这个属性
          element.textContent=text;
        }
      }
    
      //获取任意标签中间的文本内容
      function getInnerText(element) {
        if(typeof element.textContent=="undefined"){
         return element.innerText;
        }else{
          return element.textContent;
        }
      }
     
    总结:
      如果使用innerText主要是设置文本的,设置标签内容,是没有标签的效果的
      总结:innerHTML是可以设置文本内容
      总结:innerHTML主要的作用是在标签中设置新的html标签内容,是有标签效果的

    总结:
      想要设置标签内容,使用innerHTML,支持设置HTML的标签
      想要设置文本内容,innerText或者textContent,或者innerHTML,推荐用innerHTML
     
      获取的时候:
         innerText可以获取标签中间的文本内容,但是标签中如果还有标签,那么最里面的标签的文本内容也能获取.---获取不到标签的,文本可以获取
         innerHTML才是真正的获取标签中间的所有内容 ,如果想要(获取)标签及内容,使用innerHTML 
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>$永远的24k纯帅$</title>
      <style>
        div {
           200px;
          height: 150px;
          border: 2px solid red;
        }
      </style>
    </head>
    <body>
    
    <input type="button" value="设置值" id="btn"/>
    <div id="dv">哦,太神奇了</div>
    
    <script src="common.js">
    function my$(id) {
        return document.getElementById(id);
    }
    </script>
    <script>
     /* 设置标签中的文本内容,应该使用textContent属性,谷歌,火狐支持,IE8不支持
     设置标签中的文本内容,应该使用innerText属性,谷歌,火狐,IE8都支持
    
     如果这个属性在浏览器中不支持,那么这个属性的类型是undefined
     判断这个属性的类型 是不是undefined,就知道浏览器是否支持 */
    
      //兼容代码
      //设置任意的标签中间的任意文本内容
      function setInnerText(element,text) {
        //判断浏览器是否支持这个属性
        if(typeof element.textContent =="undefined"){//不支持
          element.innerText=text;
        }else{//支持这个属性
          element.textContent=text;
        }
      }
    
      //获取任意标签中间的文本内容
      function getInnerText(element) {
        if(typeof element.textContent=="undefined"){
         return element.innerText;
        }else{
          return element.textContent;
        }
      }
    
      //测试
    
      my$("btn").onclick=function () {
        console.log(getInnerText(my$("dv")));
        /* setInnerText(my$("dv"),"哈哈,我又变帅了"); */
      };
    
    
    
    //自定义函数
      function my$(id) {
        return document.getElementById(id);
    }
      //点击按钮设置div中的文本内容
      my$("btn").onclick = function () {
        //设置标签中间的文本内容,应该使用textContent属性
        my$("dv").innerText = "啊,这是div";
        /* my$("dv").textContent="this is div标签"; */
        
        //获取标签中间的文本内容
        console.log(my$("dv").innerText);
        /* console.log(my$("dv").textContent); */
     };
    
    </script>
    </body>
    </html>
  • 相关阅读:
    函数及执行顺序
    创建动态数组
    C风格字符串
    返回局部变量、局部变量的引用和指向局部变量的指针
    Basic MSI,InstallScript,InstallScript MSI和Inscript Object工程的基本区别
    混合使用标准库类string和C风格字符串
    装软件为何还要重启?软件安装过程全回放
    Installshield在安装结束时刷新系统
    字符和编码
    DLL简介
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10537005.html
Copyright © 2011-2022 走看看