jQuery onclick没有被触发

时间:2013-05-03 10:31:38

标签: jquery onclick

我的网页上有一个列表。当有人点击列表项时,应该执行一些JavaScript。例如警报。我在一个几乎空的页面上工作,例如看到这段代码:

 <ul class="uniquelist">
        <li id="1">clickable 1</li>
        <li id="2">clickable 2</li>
        <li id="3">clickable 3</li>
        <li id="4">clickable 4</li>
        <li id="5">clickable 5</li>
    </ul>

  $(document).ready(function(){
    $('.uniquelist li').click(function(){ 
      var id = $(this).attr('id');
      alert(id);
    });
  });

http://jsfiddle.net/6Wafk/1/

如果我将此代码放在包含更多代码的“完整”网页中,它就不再起作用了。在这里发布所有代码有点太多了所以我希望有人能找到我需要查看的地方的线索。

列表的类别当然是唯一的,没有其他元素具有相同的类。

修改 加载页面后加载此列表。这是我自动完成的输出!

1 个答案:

答案 0 :(得分:1)

如果您在页面加载后添加列表,则需要使用on()

$(document).ready(function(){
  $('body').on('click', '.uniquelist li', function(){ 
    var id = $(this).attr('id');
    alert(id);
  });
});

body可能会在加载时交换页面上存在的任何上升选择器 - 您选择的选择器越近,jQuery必须执行的DOM越少。