我似乎被困在与动态元素创建相关的问题上。jquery ".children" 方法无法识别添加到 DOM 的元素。我想在它们被添加之前隐藏我的数据,推入数组然后为它们设置动画。
我看过 .on() 方法,但我不确定如何绑定动态元素以使其可识别。有什么建议么?谢谢!
更新完整代码:
$(function() {
var children = [];
initInstagram();
$("#main").children().each(function() {
console.log(this);
children.push(this);
});
animateElements(children);
});
function animateElements(children) {
if (children.length > 0) {
var currentChild = children.shift();
$(currentChild).fadeIn("slow", function() {
animateElements(children);
});
}
}
function initInstagram() {
$.getJSON('../includes/instagram.php',
function(feeds) {
var feedHTML = '';
var displayCounter = 1;
for (var i = 0; i < feeds.length; i++) {
var imgURL = feeds[i].img;
var caption = feeds[i].caption;
feedHTML = '<article class="box">';
feedHTML += '<img src="'+imgURL+'" alt="'+caption+'" title="'+caption+'" >';
feedHTML += '<div class="overlay"><h4>'+caption+'</h4></div>';
feedHTML += '</article>';
$(feedHTML).prependTo('#main').hide();
}
});
}