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>
  • 相关阅读:
    lucene倒排索引瘦身的一些实验——merge的本质是减少cfx文件 变为pos和doc;存储term vector多了tvx和tvd文件有337M
    lucene Index Store TermVector 说明
    Lucene in action 笔记 term vector——针对特定field建立的词频向量空间,不存!不会!影响搜索,其作用是告诉我们搜索结果是“如何”匹配的,用以提供高亮、计算相似度,在VSM模型中评分计算
    Kappa:比Lambda更好更灵活的实时处理架构
    Lucene 的四大索引查询 ——bool 域搜索 通配符 范围搜索
    lucene 5可以运行的demo
    lucene 5的测试程序——API变动太大
    随机生成50个字段的elasticsearch的测试程序输入
    NOSQL安全攻击
    容斥原理及应用
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10537005.html
Copyright © 2011-2022 走看看