找出使用jquery单击哪个列表元素(动态添加列表)

时间:2014-02-13 23:59:00

标签: javascript jquery

案例1:列表已存在于html中

<ul id="list1">
    <li>One</li>
    <li>Two</li>
</ul>

使用

检测单击的li元素
$('#list1 li').bind('click', function(){
   alert($(this).html());
});

以上工作正常。

案例2:

现在如果以动态方式添加列表

<div id="testDiv">
</div>

var output = '<ul id="list1">' +
             '<li>One</li>' + 
             '<li>Two</li>' +
             '</ul>';

$('#testDiv').html(output);

我尝试使用相同的代码检测单击的li元素

$('#list1 li').bind('click', function(){
    alert($(this).html());
});

在这种情况下,它不会检测到

1 个答案:

答案 0 :(得分:3)

在这种情况下,请使用event delegation

$('#testDiv').on('click', '#list1 li', function () {
    alert($(this).html());
});