1

我有一个使用 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"); 
        });
4

1 回答 1

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"); 
});
于 2013-07-09T17:23:25.867 回答