我有下面的json對象,我想循環它並在div中顯示值。 我的JSON對象和函數來運行它低於如何通過json數組循環來獲取javascript中的值
photos = [{"photo1":"myimage1.jpg",
"photo2":"myimg2.jpg",
"photo3":"myimg3.jpg",
"photo4":"myimg4.jpg",}]
function showPhotoOnLoad(photos,$imgUrl){
var $photoData = photos;
var photoLength = Object.keys($photoData[0]).length;
var i, key;
var $containerWidth = 110;
//alert(photoLength);
if(photoLength >0){
$(".mycarousel-container").show();
for (i in $photoData) {
for (key in $photoData[i]) {
a = $photoData[i][key];
imgsrc = $imgUrl = $imgUrl+a;
var div = $("<div class='mycarousel' style='left:"+left+"px'></div>");
var imgPreview = "<img class='myimg' src="+imgsrc+">";
div = div.append(imgPreview);
$(".carouser-inner").append(div);
left = left+$containerWidth;
}
}
}
//console.log($imgUrl);
}
後我運行這個功能我得到的預期,但只有div的第一個孩子已經顯示出圖像和其他3已經打破IMG創造了4個格,我嘗試調試,我看到var a
這是假設是img
名稱,如myimg1.jpg
和我得到的結果是
`a=myimg1.jpg` //at first iteration of the for loop which make the img display correctly,
`a=myimg1.jpgmyimg2.jpg` //at the second iteration
`a=myimg1.jpgmyimg2.jpgmyimg3.jpg` //at the third iteration
`a=myimg1.jpgmyimg2.jpgmyimg3.jpgmyimg4.jpg` //at the last iteration
我想要得到的是像下面這樣所有的div創建將有權鏈接img
`a=myimg1.jpg` //at the first iteration
`a=myimg2.jpg` //at the second iteration
`a=myimg3.jpg` //at the third iteration
`a=myimg4.jpg //at the last iteration
問題是與'IMGSRC = $ imgUrl的= $ imgUrl的+ A;'。不知道爲什麼你在這裏再次分配'$ imgUrl' ..只是保持它爲'imgsrc = $ imgUrl + a;' –
謝謝你這是我的錯誤,我有一個漫長的一天,感謝它的正確工作正常現在 – sam
使用jQuery,你可以使用$ .each(),但你的問題是'imgsrc = $ imgUrl = $ imgUrl + a'它沒有任何意義,只需要把名字或名稱+路徑 – Loenix