我正在尝试从 mysql 异步加载数据。首先,在页面加载时,我向页面添加了多个 div:
$(document).ready(function(){
// Layout
var main = $("#main-div");
for(var i = 0; i < array.length; ++i) {
main.append("<div class='container'><a href=\"blah\">"+array[i]+"</a><div class='button-container'><span id='playcount_"+array[i]+"' class='playcount' style='margin-right:5%'>nope</span></div></div>");
}
// Get info for each sound in array
for(var i = 0; i < array.length; ++i) {
$.post("script/php_getinfo.php", { "file": array[i] }, updatePlaycount, "json");
}
});
container添加 div 时,spanid 为playcount_A,playcount_B等。添加 div 后,会POST为数组中的每个项目创建 a 并调用updatePlaycount成功。
updatePlaycount 尝试选择元素并将文本插入span:
function updatePlaycount(data) {
$('#playcount_'+data.name).text(data.playcount);
}
该函数正确获取data.nameanddata.playcount字段(例如Aand 1),但由于某种原因 jQuery 找不到#playcount_A!当然它们已经被添加了,因为添加 div 不涉及加载......