Jquery clone方法IE7不兼容的解决方法

现在都用了Win7系统后,IE都是9的版本了,但是我们这个项目合同上还写着必须要兼容IE7,IE8,IE9的硬性要求;然而我们这个系统大量使用Jquery,Ajax,Javascript,碰到这种IE兼容问题,又不好重现,真是苦撒我也。

上周碰到一个jquery. 的一个动态添加内容在IE7失效的问题,找了半天,才发现是clone在IE7不兼容。

解决办法是Jquery创建HTML 元素对象,然后append HTML 内容,返回相应的Jquery新的对象,类似于拷贝完成。

原来代码

            //var templateInsTotal = $("#tr_sample_one_biz:first", tab).clone();
            //templateTwo = $("#tr_sample_two_biz:first").clone();



现在代码

var templateInsTotal = createTrElement($("#tr_sample_one_biz:first", tab));
var templateTwo = createTrElement($("#tr_sample_two_biz:first", tab));

function createTrElement(cloneObj) {
    try {
        if (cloneObj != null) {
            var newObj = $("<tr></tr>");
            newObj.append($(cloneObj).html());
            newObj.attr("id", $(cloneObj).attr("id"));
            newObj.attr("style", $(cloneObj).attr("style"));
            newObj.attr("alltrusttag", $(cloneObj).attr("alltrusttag"));
            newObj.attr("alltrustid", $(cloneObj).attr("alltrustid"));
            return newObj;
        }

    } catch (e) {
        alert(e);
    }
    return null;
}



附注:

javascript 对象与 jquery 对象的相应切换:

$("#div1").get(0);// Javascript
$("#div1")[0];// javascript
$("#div1");// Jquery
$("#div1").eq(0);// Jquery
$($("#div1").get(0)); //Jquery


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值