2
render:function() {
var self = this;
$.ajax({url:'/db/list.json', dataType:'JSON'}).done(function (json) {
var html = tmpl['video-list']({videos:json});
self.$el.html(html);
});
console.log($('.video-thumb-box'));
$.each($('.video-thumb-box'), function(){
console.log(this);
$(this).bind('mouseenter', function(){
console.log($('.video-thumb-info', this));
});
});
}
tmpl['video-list']({videos:json})
是下划线模板,包含DIV
的项目进行列表这里例如返回无法找到刚刚插入HTML由类的jQuery元素
<div class="span3">
<a href="#/video/123">
<div class="video-thumb-box">
<img class="video-thumb-img" src="test" alt="Video tumbnail">
<div class="video-thumb-info hide">
<img class="pull-right" width="16" height="16" src="/img/icons/namba.png">
something
</div>
</div>
</a>
</div>
<div class="span3">
<a href="#/video/123">
<div class="video-thumb-box">
<img class="video-thumb-img" src="test" alt="Video tumbnail">
<div class="video-thumb-info hide">
<img class="pull-right" width="16" height="16" src="/img/icons/namba.png">
something
</div>
</div>
</a>
</div>
为什么我无法找到任何$('.video-thumb-box')
?
你需要调用'.render'再次 – 2013-02-17 16:55:42
'$ .ajax'是异步。您需要在Ajax调用完成后执行循环。 (例如,将代码移到'done'中的功能块中 – WiredPrairie 2013-02-17 17:04:48
这就是问题的原因,我刚将'$ .each'移到'done()'中,现在一切正常。 – 2013-02-17 17:07:55