动态加载数据库中的图片

时间:2014-05-16 13:01:22

标签: javascript

'想要用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);
}

4 个答案:

答案 0 :(得分:0)

在我看来有很多问题:

  1. 你不要等到回复回来;
  2. 你不能将div的src设置为字节数组(顺便说一句,你正在调用==,而你可能意味着=);
  3. 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()