0

我的网页上有一个列表。当有人单击列表项时,应该执行一些 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/

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

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

编辑: 此列表在页面加载后加载。这是我的自动完成的输出!

4

1 回答 1

1

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

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

body可能会在页面加载时交换页面上存在的任何优势选择器 - 您选择的选择器越接近,jQuery 需要做的 DOM 遍历就越少。

于 2013-05-03T11:20:39.673 回答