使用jQuery来 "点击 "一个li元素

问题描述 投票:12回答:7

我有一个 <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>

我在下面的jQuery中找到了一个 $(document).ready 块,但它似乎并不工作 - 任何想法,我做错了什么?

$("li .searchterm").click(function() {  
    console.log("testing");
});
javascript jquery html onclick document-ready
7个回答
16
投票

如果你添加dinamically把点击列表,但选择的项目。

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

在提琴上试试。http:/jsfiddle.netemPKS。


13
投票

删除选择器中的空格

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

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

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

Js Fiddle


4
投票

使用 .on()

由于你的内容是动态添加的,所以不能直接访问,所以你必须使用事件授权。

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

2
投票

要不这样做

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

<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);
}

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

0
投票

你可以在不给ul指定id的情况下进行。

$('ul').on('click','li.searchterm',function(){
//do your stuffhere;
});
© www.soinside.com 2019 - 2024. All rights reserved.