我想从我创建的动态LI中获取值。
我找到了这个answer,它解释了如何正常使用它。
这是我的代码。这对我在LI上的两个元素非常有用。
<ul class="nav nav-pills nav-stacked" id="listPreReq" style="height: 200px; overflow: auto" role="menu">
<li class="active"><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
</ul>
$("#listPreReq li").click(function() {
alert($(this).html());
});
但是我有这个选项可以向LI添加更多元素。我添加了所有新元素,他们不会触发$(&#34; #listPreReq li&#34;)。click事件。不知道为什么。这是demo。
$('#btPre').click(function(e) {
var Psize= $("#listPreReq").find("li");
Psize = Psize.size()+1;
$("#listPreReq").append('<li><a href="#">Page '+Psize+'</a></li>');
});
答案 0 :(得分:6)
<强> Solution Demo 强>
您可以将事件绑定到ul
:
$("#listPreReq").on('click', 'li', function() {
alert($(this).html());
});
答案 1 :(得分:4)
使用$(document).on('click','#btPre',function(e) {...
代替$('#btPre').click(function(e) {...
,它会被解雇!它被称为事件委托!
更新:还有这部分:
$("#listPreReq li").click(function() {...
将其更改为:
$(document).on('click',"#listPreReq li",function() {...