我有一个带有raty div 的页面。使用经典代码 $('.raty').raty({...});
该插件可以在这些现有的 div 上完美运行。但是,当我通过ajax函数加载新的raty div时,新的div“不会转化为星星”。你能帮我找出我的错误吗?
$.ajax({
url: '/ws/player/reviews/p/1',
context: document.body,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpCallbackfunction",
success: function(data) {
$.each(data.response.reviews, function( key, value ) {
html = '';
html += '<div class="raty read" data-rating="5"></div>';
$('#reviews').append(html);
});
}
data: {player_id: player_id, from: $('#reviews').data('from')}
}).done(function() {
$(this).find('.raty').raty({
path: '/img/raty/',
readOnly: true,
score: function() {return $(this).data('rating');}
});
});
尽管如此,如果我尝试 $(this).find('.raty').html('blablabla');
“blablabla” 会正确写入我的所有 '.raty' div 中。
感谢您的帮助,
杰里米
最佳答案
你犯了一个小错误
查看此代码
$.ajax({
url: '/ws/player/reviews/p/1',
context: document.body,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
jsonp: "callback",
jsonpCallback: "jsonpCallbackfunction",
success: function(data) {
$.each(data.response.reviews, function( key, value ) {
html = '';
html += '<div class="raty read" data-rating="5"></div>';
$('#reviews').append(html);
});
}
data: {player_id: player_id, from: $('#reviews').data('from')}}).done(function() {
$(this).find('#reviews .raty').raty({ // Changes
path: '/img/raty/',
readOnly: true,
score: function() {return $(this).data('rating');}
});});
希望这段代码能够工作
关于jquery - 如何将raty插件应用到新生成的div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15107629/