SCRIPT 600错误:此操作的目标元素无效

Car*_*eis 6 javascript internet-explorer

我有一个在FireFox和Chrome中运行良好的php网站,但在IE中完全崩溃.

这里只是一个抛出错误的脚本... SCRIPT600:此操作的目标元素无效.

function loadDeals() {
    $.get("modules/recommendations/viewrecommendations.php",{},function(response){
        document.getElementById("dealdata").innerHTML = response;
    });
}
Run Code Online (Sandbox Code Playgroud)

它会在设置innerHTML的行上抛出错误......有什么想法为什么会发生这种情况?

小智 13

IE在使用innerHTML替换TBODY内容时遇到问题.上面给出的jQuery工作; 如果您不使用jQuery,另一种解决方案是<div id='helper' style='visibility:hidden'/>在页面中有一个位置- 当响应到达时,将带有周围<table>标记的值放入隐藏的div中,然后使用DOM从可见标记中删除旧内容并插入隐藏标签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);
Run Code Online (Sandbox Code Playgroud)


Ric*_*Lee 3

试试这个:你使用 jquery 吗?

看起来你还有一组额外的括号(我认为在 之间,{},

function loadDeals() {
    $.get("modules/recommendations/viewrecommendations.php",function(response){
        $("#dealdata").html(response);
    });
}
Run Code Online (Sandbox Code Playgroud)