• 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>
  • 相关阅读:
    循环队列
    UVa10000_Longest Paths(最短路SPFA)
    最新jhost免费jsp云空间会员邀请码
    Vertica: 基于DBMS架构的列存储数据仓库
    java中接口的定义与实现
    【C++知识汇总】运营商 &amp; 运算符重载
    SVN与eclipse整合和利用、SVN与Apache综合
    Java单链逆转
    hdu1115(重力算法的多边形中心)
    高效C++规划
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10537005.html
Copyright © 2020-2023  润新知