问题现象:动态的改变HTML元素的内容时发生以下js报错:
报错位置:位于jQuery.js的代码片段
append:function(){
return this.domManip(arguments,true,function(E){
if(this.nodeType==1) {
this.appendChild(E)
}
})}
JS代码:
function toPreCalc() {
if(validisOrNotSelected()) {
$("noticed").html("已勾选的产品");
}else{
$("noticed").html("所有存在自营客户存续份额的产品");
}
}
function validisOrNotSelected (){
var count = $("input[name=serial_no]:checked").length;
return (count>0);
}
DOM结构:
预算日期:
计算范围:
解决过程:
查资料发现该问题的产生原因为:ie对动态append的内容有要求,需要将一个具有完整意义的html一起append到代码中 。
仔细检查发现,我的div里直接以tr元素开始了,这对于要求严格的IE来说显然不符合其规定,从严谨的角度来讲;tr元素必须是在table元素里才算是完整的html代码。
然后再tr外再加了一个table元素,问题得以完美解决~
以下是修改后的DOM结构:
预算日期:
计算范围:
免责声明:内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,本网站所提供的信息只供参考之用。