我的JavaScript代码没有显示预期的结果
我正在尝试使用JSON和AJAX从API打印对象,当我使用我的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;
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)
您所说的“不工作”是什么意思?这是一个非常糟糕的问题描述。您期望什么?实际发生了什么?有错误吗?您所说的“不工作”是什么意思“?这是一个非常糟糕的问题描述。你期望什么?实际发生了什么?有错误吗?非常感谢。我是一个初学者,所以其中一些错误对我来说是新的。我非常感谢你的帮助。非常感谢。我是一个初学者,所以其中一些错误对我来说是新的。我感谢你的帮助。”