现在都用了Win7系统后,IE都是9的版本了,但是我们这个项目合同上还写着必须要兼容IE7,IE8,IE9的硬性要求;然而我们这个系统大量使用Jquery,Ajax,Javascript,碰到这种IE兼容问题,又不好重现,真是苦撒我也。
上周碰到一个jquery. 的一个动态添加内容在IE7失效的问题,找了半天,才发现是clone在IE7不兼容。
解决办法是Jquery创建HTML 元素对象,然后append HTML 内容,返回相应的Jquery新的对象,类似于拷贝完成。
原来代码
现在代码
附注:
javascript 对象与 jquery 对象的相应切换:
上周碰到一个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