页面里有个列表,列表里每个 li 都有一个 id,但是 id 以及 li 的总数都是不确定的,现在我需要在每个 li 都绑定一个点击事件,能否给我一个思路,谢谢!
没猜错的话你应该是一个循环对吧,这样不就行了
<li id="check_<%= xxx.id %>">
jq 做法,用 class,不用 id,或者直接用 li 选择器。
$("class name").on("click", function(){});
可以看下 jq 选择器,实现方法很多。
#2 楼 @flowerwrong 好的,我去试一下,谢谢了
#3 楼 @bajiudongfeng 好的
#1 楼 @easonlovewan 我就是这样写的,主要是 li 里的点击事件不起作用,就无法取到 li id 的值,不过肯定是我写的有问题,我再重新写一下
<li class="js_model_name" data-id="<%= obj.id%>" >
$(".js_model_name").on("click", function(){ var id = $(this).data("id"); console.log(id); })
楼主这么试试呢?
委托到上级元素。
为什么要直接绑定到每个 <li> 元素上?这个可是会有性能消耗的。用 #8 楼 @Rei 的方案比较好。
<li>
$("ul.xxx").on("click", "li", function(event){ // do something });
赞同#8 的说法,我做点补充:https://www.cnblogs.com/owenChen/archive/2013/02/18/2915521.html