使用jQuery“点击”li元素

时间:2013-09-30 09:57:20

标签: javascript jquery html onclick document-ready

我有一个<ul>元素,可动态生成<li>个元素,只想运行onclick个事件

<ul id="results">
    <li class="device_result searchterm" data-url="apple-iphone-5s">
        <a href="#"> Apple iPhone 5s </a>
    </li>
    <li class="device_result searchterm" data-url="apple-iphone-5c">
        <a href="#"> Apple iPhone 5s </a>
    </li>
</ul>

我在$(document).ready块中有以下jQuery,但它似乎没有用 - 任何想法我做错了什么?

$("li .searchterm").click(function() {  
    console.log("testing");
});

6 个答案:

答案 0 :(得分:16)

如果你动态添加点击列表但选择项目:

$("#results").on("click", ".searchterm", function(event){
    console.log('clicked');
});

尝试小提琴:http://jsfiddle.net/emPKS/

答案 1 :(得分:11)

删除选择器

中的空格
  $("li.searchterm").click(function() {    
   console.log('testing');
});

并且您还可以使用.on将特定事件附加到匹配的元素

  $("li.searchterm").on("click",function() {    
   console.log('testing');
});

Js Fiddle

答案 2 :(得分:4)

使用.on()

由于您的内容是动态添加的,因此无法直接访问,因此您必须使用事件委派。

$('#results').on('click','li.searchterm',function() {    
    console.log('testing');
});

答案 3 :(得分:2)

要么

$( "li .searchterm" ).on('click', function() {    
   console.log('testing');
});

OR

<li class="device_result searchterm" data-url="apple-iphone-5s" onclick="clickFunc(1)">
   <a href="#">Apple iPhone 5s</a>
</li>
<li class="device_result searchterm" data-url="apple-iphone-5c" onclick="clickFunc(2)">
   <a href="#">Apple iPhone 5s</a>
</li>

和Javascrip

function clickFunc(id) {
   console.log('Do something with ' + id);
}

答案 4 :(得分:1)

$( "li.searchterm" ).on('click',function() {    
   console.log('testing');
});

答案 5 :(得分:0)

您可以在不将ID分配给ul

的情况下执行此操作
$('ul').on('click','li.searchterm',function(){
//do your stuffhere;
});