最近项目遇到了问题,有个asp.net web程序只能在IE7 运行,现在xp都淘汰了,大家都用IE8-IE11,因此这个web app也需要升级 适应所有IE版本。照成IE版本不兼容的问题主要来致document.createElement方法的调用,如:

function addStyleNo(value, cannotDel) {
    if (!value) {
        value =
'';
    }
    var tb = $('tbodyStyle');
    var tr =
tb.insertRow();
    var td1 = tr.insertCell();
    td1.style.width =
'20px';
    td1.style.height = '20px';
    if (!cannotDel) {
        var imgDel = document.createElement("<img alt = ''
src='./images/delete.gif' onclick = 'delScTr(this)' style='cursor:pointer'
/>");
        
td1.appendChild(imgDel);
    }

var td2 = tr.insertCell();
   
td2.style.height = '20px';
    var txt = document.createElement("<input
type = 'text' class = 'ip-bx-ro' value = '" + value + "' />");
     td2.appendChild(txt);

}

这个系统的js太多太多,大家对这个系统的业务也不熟悉,我先前是把这个document.createElement 用jquery来代替,

var imgDel = jq("<img alt = '' src='./images/delete.gif' onclick = 'delScTr(this)' style='cursor:pointer' />")[0];

var txt = jq("<input type = 'text' class = 'ip-bx-ro' value = '" + value + "' />")[0];

后来发现要改的地方太多了。于是想想有没有简单的方法, 最后把矛头指向覆盖document.createElement 方法的实现。

document.createEl = document.createElement;
        document.createElement =
function (obj) {
            if (obj.toString().indexOf("<") >
-1) {
                return jq(obj)[0];
            }
            else
{
                return document.createEl(obj);
            }
       
}

目前在ie下还没有发现什么异常情况。

JavaScript 覆盖document.createElement 方法的更多相关文章

  1. JavaScript 覆盖document.createElement 方法 解决window.close在火狐下不兼容问题)

    近期项目遇到了问题,有个asp.net web程序仅仅能在IE7 执行.如今xp都淘汰了,大家都用IE8-IE11,因此这个web app也须要升级 适应全部IE版本号.照成IE版本号不兼容的问题主要 ...

  2. console.log的一个应用 -----用new方法生成一个img对象和document.createElement方法创建一个img对象的区别

    我用两种方法来生成img对象,第一种方法是用new方法,第二种方法是用document.createElement方法. var img1 = new Image(); var img2 = docu ...

  3. document.createElement方法的使用

    我们在使用createElemen方法t创建一个元素节点的时候,似乎在IE下面怎么写都可以,但切换到FF等其它浏览器却总是会报错. 比如我们要创建一个input元素,那么在IE下,我们可以有多种写法: ...

  4. document.createElement()方法

    document.createElement()是在对象中创建一个对象,主要和appendChild() 方法或者insertBefore() 方法联合使用. appendChild() 方法在节点的 ...

  5. javascript之document对象

    一.修改网页元素 当使用document提供的方法和Element的属性得到网页元素之后,就可以对元素的内容进行修改,如下例所示的“全选/全不选”的实现. 例3-17 <html> < ...

  6. 简化document.createElement("div")动态生成层方法

    我们在WEB开发时,很多时候往往需要我们 JavaScript 来动态建立 html 元素,动态的设置相关的属性.比方说我们想要建立一個 div 层,则可以使用以下代码实现. 一.直接建立functi ...

  7. 摘抄 - 不为人知的JS调用样式的方法---document.createElement().addRule(..)

    很多人可能在调用css样式都是使用传统的方式调用其实有很多方法可以进行调用,如使用内嵌样式,在html直接加入样式,给定外部样式文件,在外部样式文件中使用 @import url(样式文件路径),这些 ...

  8. 用JAVA编写浏览器内核之实现javascript的document对象与内置方法

    原创文章.转载请注明. 阅读本文之前,您须要对浏览器怎样载入javascript有一定了解. 当然,对java与javascript本身也须要了解. 本文首先介绍浏览器载入并执行javascript的 ...

  9. javascript document.createElement() document.createTextNode() appendChild()

    //--------------document.createElement("div") var div = document.createElement("div&q ...

随机推荐

  1. Vakuum开发笔记02 核心与安全问题

    3.judger核心设计 评测系统最重要部分就是评测核心了(judger).核心judger负责了编译.执行.检查三大部分,也就是评测系统的灵魂所在,因此judger设计的好坏,直接影响到整个评测系统 ...

  2. xenserver系列之安装与配置

    文章内容 1 ,安装 一.选择键盘类型:US. 二.这个是欢迎界面,选择“OK”即可. 三.这个是使用协议,我们必须得接受,否则就不能继续安装了! 四.这个是警告,告诉你XenServer所需要的硬件 ...

  3. windows servier2008+virtualenv下部署Flask (IIS+wfastcgi)

    由于业务只有一台windows server2008的服务器,一般的nginx+uwsgi的部署方式不行,以下记录部署过程,本文参考自:https://www.cnblogs.com/xiaolecn ...

  4. spring集成kafka

    一.添加依赖项 compile 'org.springframework.kafka:spring-kafka:1.2.2.RELEASE' 二.发消息(生产者) 2.1 xml配置 <?xml ...

  5. Unity中Web.Config文件的配置与调用

    在上一篇文章“Unit简单依赖注入”我们可以实现构造对象和被依赖对象之间的 松耦合,使我们的抽象层(Player)能够保持稳定,但是在并没有把客户类和Player类之间彻底解耦,即当我们不想使用MP3 ...

  6. LPC43xx SGPIO Configuration -- Why not use GPDMA ?

    LPC43xx SGPIO Configuration The LPC43xx SGPIO peripheral is used to move samples between USB and the ...

  7. How to create .gitignore file in Windows Explorer

    How to create .gitignore file I need to add some rules to my .gitignore file, however, I can't find ...

  8. bitnami redmine配置全过程

    常见问题: 我在自己的机器上面配置完毕以后,移植到另外一台机器上面,登陆页面总是在检查network,并且最后网络加载失败,不论我是用桥接还是NAT方式连接.登陆系统以后,我尝试连接网络失败,尝试执行 ...

  9. excel宏整理

    工作以后发现excel很强大,用好excel已经成功工作中很重要的一部分内容,最近写了一些宏, 整理如下: 根据excel生成sql脚本的sc_template Sub GenSCTemplateFi ...

  10. 如何调整word中表格某一列占半分比

    1.可以拖动,但是不准确 2.