我的JavaScript代码没有显示预期的结果

我的JavaScript代码没有显示预期的结果,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用JSON和AJAX从API打印对象,当我使用console.log查看它时,它就会工作。但是由于某些原因,我的generateCreatureDiv函数不起作用 这是我的代码: $(文档).ready(函数(){ var xhttp=newXMLHttpRequest(); xhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var response=this.responseText;

我正在尝试使用JSON和AJAX从API打印对象,当我使用
console.log
查看它时,它就会工作。但是由于某些原因,我的
generateCreatureDiv
函数不起作用

这是我的代码:

$(文档).ready(函数(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var response=this.responseText;
var createuredata=JSON.parse(响应);
console.log(creatureData);
//从数据中获取一个生物
对于(变量i=0;i
删除
$(“CreatureDiv”)
中的
引号。它不是用任何ID或类选择的。并且在您的代码上已经用
var CreatureDiv=$(“”);
声明。因此,按如下方式更改

function generateCreatureDiv(creature) {
        var CreatureDiv = $("<div />");
        console.log("hoe");
        CreatureDiv.id = "CreatureInfo";
        console.log("hoe")
        $(CreatureDiv).append("<h1>" + creature.name + "</h1>");
        console.log("hoe");
        $(CreatureDiv).append("<img>" + creature.image + "</img>");
        return CreatureDiv;
        console.log("hoe");

      }
document.getElementById("CreatureEntry").innerHTML += generateCreatureDiv(creature[i]);
而不是

document.getElementById("CreatureEntry").innerHTML = generateCreatureDiv(creature[i]);
因为
innerHTML=generateCreatureDiv(生物[i]);
它会在每次调用时重置以前的值

删除
$(“CreatureDiv”)
中的
引号。它不会使用任何ID或类进行选择。并且在您的代码上已经使用
var CreatureDiv=$(”;
进行声明。所以像这样更改

function generateCreatureDiv(creature) {
        var CreatureDiv = $("<div />");
        console.log("hoe");
        CreatureDiv.id = "CreatureInfo";
        console.log("hoe")
        $(CreatureDiv).append("<h1>" + creature.name + "</h1>");
        console.log("hoe");
        $(CreatureDiv).append("<img>" + creature.image + "</img>");
        return CreatureDiv;
        console.log("hoe");

      }
document.getElementById("CreatureEntry").innerHTML += generateCreatureDiv(creature[i]);
而不是

document.getElementById("CreatureEntry").innerHTML = generateCreatureDiv(creature[i]);

因为
innerHTML=generateCreatureDiv(生物[i]);
它会在每次调用时重置以前的值这一行正在擦除数组中每个元素的DIV的所有内容:

document.getElementById("CreatureEntry").innerHTML = generateCreatureDiv(creature[i]);
删除第一部分,然后调用您的方法并附加结果

$("CreatureEntry").append(generateCreatureDiv(creature[i]));

此外,您需要在引用
$(“CreatureDiv”)
的任何位置删除引号,并使用
$(CreatureDiv)

此行将删除数组中每个元素的DIV的所有内容:

document.getElementById("CreatureEntry").innerHTML = generateCreatureDiv(creature[i]);
删除第一部分,然后调用您的方法并附加结果

$("CreatureEntry").append(generateCreatureDiv(creature[i]));

此外,您需要在引用
$(“CreatureDiv”)
的任何位置删除引号,并使用
$(CreatureDiv)

您所说的“不工作”是什么意思?这是一个非常糟糕的问题描述。您期望什么?实际发生了什么?有错误吗?您所说的“不工作”是什么意思“?这是一个非常糟糕的问题描述。你期望什么?实际发生了什么?有错误吗?非常感谢。我是一个初学者,所以其中一些错误对我来说是新的。我非常感谢你的帮助。非常感谢。我是一个初学者,所以其中一些错误对我来说是新的。我感谢你的帮助。”