所以我正在为我的网站开发一个JavaScript搜索器,并且已经有几天了,当我意识到它与Chrome不兼容时,所以我检查了一些其他浏览器并意识到它适用于Firefox和IE9 ,但在Chrome或Safari中无效。
我已经将Chrome和Firefox中的调试器并排倾倒了几个小时,并且在我的生活中无法弄清楚问题是什么。它一直给我一个错误。我确切地知道错误意味着什么,以及为什么它给我错误,但我无法弄清楚是什么导致错误。
这是错误:未捕获的TypeError:无法设置属性'innerHTML'为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++;
}
虽然该代码的几乎每个页面都使用了此代码的一个版本,但它们都不起作用。