在LI元素上使用jQuery .on()

时间:2013-03-27 23:54:30

标签: jquery html

我在使jQuery .on()工作时遇到了一些困难。 h1元素目前似乎很好,就像在第一个' .on()'中一样,但当我使用li元素时它不想工作,当我将它作为一个类包含时,id,甚至是简单的元素。使用ID对于我想要做的事情是不可能的,因为我有几百个我想要的元素,每个元素都有不同的数字ID。

$(document).ready(function(){
    //a h1 element
    $('#title').on('click',function(){ //works
        console.log("clicked");
    });

    //li elements, don't work
    $('#56813XXXX').on('click',function(){ //doesn't work
        console.log("clicked");
    });
    $('li').on('click',function(){ //doesn't work
        console.log("clicked");
    });
    $('.listItem').on('click',function(){ // doesn't work
        console.log("clicked");
    });
})

HTML如下:

<ul id="friendsList">
    <li id="56813XXXX" class="listItem">Text</li>
    <li id="56095XXXX" class="listItem">Text</li>
    <--several hundred more elements-->
</ul>

那么任何想法如何让它适用于li元素?

1 个答案:

答案 0 :(得分:3)

你试过这个吗?它将调用范围限定为父<ul>,并将click事件绑定到动态添加的任何<li>元素。

$('#friendsList').on('click', 'li', function() { 
     console.log("clicked");
});