zoukankan      html  css  js  c++  java
  • Jquery IE8兼容性

    环境: jsp+jquery-1.11.1.min.js

    问题描述:

    使用$("#article标签id名").append(“xxxxxxxxx") ,chrome、firefox、ie10全部可以正常增加元素,唯独ie8下显示为空,调试无数次,才意识到IE9以下不支持HTML5标签,以下是百度到的解决办法,放在<head></head>里面即可。

    这段代码的意思是如果ie版本低于ie8,就创建所有HTML5新标签。

    <!--[if lt IE9]> 
    <script> 
       (function() {
         if (! 
         /*@cc_on!@*/
         0) return;
         var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
         var i= e.length;
         while (i--){
             document.createElement(e[i])
         } 
    })() 
    </script>
    <![endif]-->

    这里是详细说明:

    http://www.cnblogs.com/Capricornus/archive/2013/03/26/2982122.html

    实际使用的时候,目的是达到了,

    但是ie任何版本浏览器页面左上角会出现代码<!--[if lt IE9]> <![endif]-->

    汗。。。最后把<!--[if lt IE9]>改成<!--[if IE 8]>,才OK

    调试的过程中,还碰到两个问题,一起记录一下

    1.ie8不支持 $("title").html("xxxx") 的写法,而且会直接报错导致后面的js无法执行,

       改为document.title="xxxxx" 即可。

    2.ie8下使用append()函数为在指定标签末尾插入html字符串时,a标签必须要有结束标签

    例如 $("#td1").html("<a href='#'>这是一个链接");

    这种写法在chrome、firefox、ie10都没问题,可是在ie8下就不行,ie8会直接忽略掉没有结尾的a标签,所以必须写成  $("#td1").html("<a href='#'>这是一个链接</a>");   这种规范的形式。

    (一般人应该都不会忘记写结束标签,这是维护代码的时候碰到的一个坑)

  • 相关阅读:
    android activity 生命周期
    Android event logcat的研究
    关于new enhancement的一些知识
    LEAVE LIST-PROCESSING和LEAVE TO LIST-PROCESSING事件的作用
    报错消息写在AT SELECTION-SCREEN OUTPUT和START-OF-SELECTION事件下的区别
    字符串的 Base64 加密和解密
    接口的学习
    IDOC
    ABAP文件上传下载 用SMW0
    获取本机信息如IP 电脑名称等类
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541134.html
Copyright © 2011-2022 走看看