01/10/2018, 08:37
Cần anh em giúp đỡ tìm lỗi JS
em có đoạn code JS append vào HTML như sau: và nó k append vào file HTML được. ae giúp em tìm lỗi với, many thanks
var images = [
{
src: 'xxx.jpg',
count_like: 9898,
user: {
name: 'Nguyen Minh Huy',
avatar: 'xxx.jpg'
}
},
{
src: 'xxx.jpg',
count_like: 98,
user: {
name: 'Nguyen Minh Huyen',
avatar: 'xxx.jpg'
}
},
{
src: 'xxx.jpg',
count_like: 123,
user: {
name: 'Nguyen Minh hoang',
avatar: 'xxx.jpg'
}
},
{
src: 'xxx.jpg',
count_like: 999,
user: {
name: 'Nguyen Minh hao',
avatar: 'xxx.jpg'
}
},
{
src: 'xxx.jpg',
count_like: 345,
user: {
name: 'Nguyen Minh ha',
avatar: 'xxx.jpg'
}
},
{
src: 'xxx.jpg',
count_like: 345,
user: {
name: 'Nguyen Minh ha',
avatar: 'xxx.jpg'
}
},
];
var app = {
draw : draw,
};
$(document).ready(function () {
app.draw();
});
function draw(){
images.each(function(key,image) {
var html =
'<div class="image">'
+ '<img src="'+image.src+'">'
+ '</div>'
+ '<div class="content-img">'
+ '<div class="like">'
+ '<a href="#">'
+ '<img src="like.png">'
+ '<span>'+image.count_like+'</span>'
+ '</a>'
+ '</div>'
+ '<div class="user">'
+ '<img src="'+image.user.avatar+'">'
+ '<a href="#">'+image.user.name+'</a>'
+ '</div>'
+ '<div class="download">'
+ '<a href="#">'
+ '<img src="download.png">'
+ '</a>'
+ '</div>'
+ '</div>';
$('footer div.col-4').append(html)
});
}
Bài liên quan
images.each(function(key, image){ ... })
chuyển thành
images.forEach(function(image){ ... })
hoặc
for (let image of images){ ... }
vẫn k được bạn ạ ! t gửi bạn cả folder luôn nhé
Ừm, cứ gửi xem sao ^^
ở đây k có nút upload folder nhỉ? :((
Muốn gửi file nhanh bạn có thể dùng http://wikisend.com/
chỉ up được file thôi b à
Bạn có thể nén lại và chia sẽ file nén là được.
cảm ơn bạn nhé :))))))
bạn ơi, file đây http://wikisend.com/download/503762/unsplash.zip
var app = {
draw : draw,
}; ?? nhìn qua là biết cái này undefine
nó chỉ là khai báo đối tượng thôi bạn !
Hahaha! Trong Javascript thì nó vẫn được =)). Function nó sẽ tự đẩy lên đầu hết
nhìn lại lexical scope của nó. :)) không tin hãy f12 lên và nhìn nhé :))
Sorry em mắt mờ không nhìn rõ
=))
mà mình làm js cũng nhiều sao không nhớ nó có cái hàm each này nhỉ, không biết bạn kai lấy nó ở đâu …
Hình như nó trong JQuery thì phải
hơn nữa callback truyền vào iterator thường sẽ nhận tham số là value và key chứ nhỉ bạn sao kia lại là key, value ?
Ừm, công nhận, cũng đang thắc mắc.
Code đã fix!
1 cái kinh nghiệm hay hay cho bạn là không nên dùng khai báo var, thứ 2 nữa là không nên khai báo biến ở global scope như vậy, vì như thế nó sẽ tự động trở thành 1 property của object window, bạn có thể f12 rồi nhập this để nhìn thấy window. làm như vậy người ta gọi là làm bẩn môi trường. sau này có thể dẫn đến 1 số bug cực kì khó debug :)) good luck !!