我无法将事件绑定到由jQuery生成的列表.我看过一些类似的问题,但还没找到任何解决方案.
这是生成我的列表的代码:
var list = '<ul>';
for (var i = 0; i < data.length; i++)
{
list += '<li id="' + data[i].id + '"><span class="btnRemoveItem" title="Remove item from list"></span>' + data[i].name + '</li>';
}
list += '</ul>';
jQuery("#spanContainer").html(list);
Run Code Online (Sandbox Code Playgroud)
这创建了我想要的列表.效果很好.但我无法通过jQuery操纵列表.一些研究指出我将事件绑定到我的列表的方向.我怎么做?我看过几个有相同问题的帖子,但没有找到解决我问题的任何内容.
我正在使用jQuery 1.2.6并且不能使用v.1.3(具有.live功能).
资源: docs.jquery.com/Events/bind
编辑: 我试过这个,但它没有用.
jQuery("#7276").bind("click",function(){alert('test');})
这是html输出:
<span id="itemList">
<ul>
<li id="listItem_7276"><span title="Remove item from list" class="btnRemoveItem" id="7276"/>Main item</li>
<li id="listItem_7281"><span title="Remove item from list" class="btnRemoveItem" id="7281"/>Test item 4</li>
</ul>
</span>
Run Code Online (Sandbox Code Playgroud)
尝试在jquery中构建数据结构:(未经测试的代码)
ul = $("<ul/>");
for (var i = 0; i < data.length; i++) {
ul.append(
$("<li/>")
.attr("id", data[i].id)
.append($("<span/>")
.addClass("btnRemoveItem")
.attr("title", "Remove item from list")
.click(function() {
$(this).parent().remove();
})
).append(data[i].name)
);
}
jQuery("#spanContainer").html(ul);
Run Code Online (Sandbox Code Playgroud)