所以我正在为我的网站开发一个 JavaScript 搜索器,并且已经运行了几天,当我意识到它与 Chrome 不兼容时,我检查了其他一些浏览器并意识到它可以在 Firefox 和 IE9 中运行,但是确实不适用于 Chrome 或 Safari。
几个小时以来,我一直在 Chrome 和 Firefox 中并排使用调试器,但终其一生都无法弄清楚问题出在哪里。它一直给我一个错误。我确切地知道错误的含义,以及它为什么给我错误,但我不知道是什么原因造成的。
这是错误: Uncaught TypeError: Cannot set property 'innerHTML' of null
我知道这意味着没有具有该 ID 的对象,但我之前设置了一个具有该 ID 的对象。在 Firefox 的调试器中,在该行代码中它说 Id 已设置,但在 Chrome 调试器的同一行中,它说它没有。
这是代码的摘录:
arrayFinal[arrayln2]="end";
var displayNumber=0;
while(arrayFinal[displayNumber].charAt(0) != "e"){
var boxPath="camper_htmls/"+arrayFinal[displayNumber]+".txt";
boxhttp = new XMLHttpRequest();
boxhttp.open("GET",boxPath,false);
boxhttp.send(null);
var boxHTML = boxhttp.responseText;
var setDivId=document.createAttribute("Id");
setDivId.value=("div_"+displayNumber);
var node = document.createElement("div");
node.setAttributeNode(setDivId);
document.getElementById("resultContainer").appendChild(node);
var divIdNumber = ("div_"+displayNumber);
document.getElementById(divIdNumber).innerHTML=boxHTML;
displayNumber++;
}
尽管该网站的几乎每个页面都使用了此代码的一个版本,但它们都不起作用。