'想要用javascript创建div并将图片加载到这些单独的div中 然而,我得到追加孩子是未定义的
php文件正常运行
var request = new XMLHttpRequest;
request.open('GET' , url.com/phpfile, false);
request.send();
if(request.status == 0)
console.log(request.responseText);
var picture;
var obj = JSON.parse(request.responseText);
console.log(obj);
for (var i= 0 ; i<obj.length; i++){
var div = document.createElement("target");
var img = document.createElement("IMG");
document.body.appendChild(div);
div.id= ('target'+i);
picture = obj[i].LastPicture;
img.src=picture;
document.getElementById(div).appendChild(img)
console.log(picture);
}
答案 0 :(得分:0)
在我看来有很多问题:
==
,而你可能意味着=
); appendChild
上的来电body
,而不是document
上的来电。答案 1 :(得分:0)
我使用过这样的东西:
var img = document.createElement("IMG");
img.src = "path_to_img";
document.getElementById("some_id_from_body").appendChild(img);
您需要记住document.createElement(&#39; target&#39;);不会将新创建的元素添加到文档中。
在您的示例中,document.body.appendChild(&#39; div&#39;),我认为它应该是document.body.appendChild(div);,没有引号?
答案 2 :(得分:0)
你有没有试过像:
$("<img src='"+obj[i].picture+"'></img>").appendTo("#"+target+i);
答案 3 :(得分:0)
[..]但是我得到了附加的孩子是未定义的。
那是因为你无法将字符串传递给body .appendChild()
函数。您可以使用document.createElement('div')
创建div元素,并将其传递给.appendChild()
。