zoukankan      html  css  js  c++  java
  • innerText和innerHTML

    起因

        由于公司的项目以前不考虑浏览器的兼容性问题,当时只考虑ie8浏览器,封装的控件也只针对ie8,我后面的做的时候,也就针对ie8,最近发现,封装的日期控件,在firefox竟然没法显示出来,去看JavaScript代码,才发现原来是用innerText获取的td的内容,这样在文本框获取日期的时候,一个也不会显示出来

    innerText和innertHTML区别

    1.innerText是IE4.0出的,不是所有浏览器都可以用的如firefox;而innerHTML是所有浏览器都可以用

    <!--通过选中checkbox获取对应label标签的内容-->
    <table class="doc-table">
            <tr>
                <td><strong>爱好:</strong></td>
                <td>
                    <input type="checkbox" name="ckb-love" id="ckbSing" />
                    <label id="lblSing" for="ckbSing"><音乐></label>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <input type="button" id="btnSubmit" value="提交" />
                </td>
            </tr>
    </table>
    
     window.onload = function () {
                var btnSubmit = document.getElementById("btnSubmit");
                btnSubmit.onclick = function () {
                    var ckbEmelents = document.getElementsByName("ckb-love");//获取一组name为ckb-love的多选框
                    for (var i = 0; i < ckbEmelents.length; i++) {
                        var id = ckbEmelents[i].id;  //拿到当前元素的id
                        var lblEmelent = document.getElementById(id.replace("ckb", "lbl"));//将id进行替换,获取label的内容
                        alert(lblEmelent.innerText); //在ie、chrome、opera都能显示<音乐> 在firefox中则显示 undefined
           }
        }
     }
    

    2.innerText会html特殊符号进行编码处理,不用特殊符号,而innerHTML则不会

     <div id="test">
            <span style="color: red">Hello</span>  World!
     </div>
    
     //innerText
     window.onload = function () {
        var text = document.getElementById("test").innerText;
        alert(text); //ie、chrome、opera 显示 Hello World! firefox依然显示 undefined
     }
    
     //innerHTML
     window.onload = function () {
      var html = document.getElementById("test").innerHTML;
                alert(html); //ie、chrome、opera、firefox 
                             //显示 <span style="color: red">Hello</span>  World!
     }
    
  • 相关阅读:
    js如何获取当天日期的开始时间和结束时间
    bootstrapTable 刷新数据
    vue全家桶
    JavaScript数组是否存在及是否存在某个元素
    asp.net core 负载均衡集群搭建(centos7+nginx+supervisor+kestrel)
    (转) 将ASP.NET Core应用程序部署至生产环境中(CentOS7)
    mysql 5.7 docker 主从复制架构搭建
    CentOS6.x生产环境下一键安装mono+jexus的脚本,自启动,带服务,版本号自控
    使用 Json.Net 对Json文本进行 增删改查
    C# dynamic 动态创建 json
  • 原文地址:https://www.cnblogs.com/qq0827/p/3763850.html
Copyright © 2011-2022 走看看