2

我在让 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 元素工作吗?

4

1 回答 1

3

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

$('#friendsList').on('click', 'li', function() { 
     console.log("clicked");
});
于 2013-03-28T00:05:13.510 回答