我有一个可以在FireFox和Chrome中运行良好的php网站,但在IE中完全崩溃。
这里只是一个抛出错误的脚本...... SCRIPT600:此操作的目标元素无效。
function loadDeals() {
$.get("modules/recommendations/viewrecommendations.php",{},function(response){
document.getElementById("dealdata").innerHTML = response;
});
}
它会在设置innerHTML的行上抛出错误......有什么想法会发生这种情况吗?
答案 0 :(得分:13)
IE在使用innerHTML替换TBODY内容时遇到问题。上面给出的jQuery工作;如果你不使用jQuery,另一种解决方案是在页面的某个地方有一个<div id='helper' style='visibility:hidden'/>
- 当响应到达时,将带有周围<table>
标记的值放入隐藏的div中,然后使用DOM从可见标记中删除旧内容,并从隐藏标记1中插入元素1:
var a=document.getElementById("dealdata");
while(a.firstChild!=null)
a.removeChild(a.firstChild);
var b=document.getElementById("helper");
b.innerHTML="<table>"+this.responseText+"</table>";
while(b.tagName!="TR") {
if(b.tagName==null)
b=b.nextSibling;
else
b=b.firstChild;
}
for(;b!=null;b=b.nextSibling)
a.appendChild(b);
答案 1 :(得分:3)
试试这个:你使用的是jquery吗?
看起来你还有一组额外的括号(我认为在,{},
之间)
function loadDeals() {
$.get("modules/recommendations/viewrecommendations.php",function(response){
$("#dealdata").html(response);
});
}