我有一个使用JQuery Mobile呈现简单列表的函数。
function() {
var view = $("#test-content");
view.empty();
console.log(view);
var ul = $("<ul></ul>").appendTo(view);
for(var i=1; i <= 5; i++) {
$("<li id=\"item" + i + "\">Item " + i + "</li>").appendTo(ul);
}
ul.listview();
}
如何绑定每个元素,以便在点击时更改主题?
我尝试在for循环中添加以下代码,但它没有做任何事情。
$("#item" + i).bind("tap", function() {
$(this).attr("data-theme", "e");
});
答案 0 :(得分:2)
您错过了#for id选择器,也确保在绑定事件之前添加了带有id项的元素。
$("#item" + i).bind("tap", function() {
$(this).attr("data-theme", "e");
});
您可以使用on()来动态添加元素。您可以将事件委托给动态添加元素的父级或document
。
$(document).on("tap", "id^=item", function() {
$(this).attr("data-theme", "e");
});