JavaScript 请教关于 li 事件绑定的问题

queshan · 2016年11月08日 · 最后由 avriLee 回复于 2017年06月01日 · 6614 次阅读

页面里有个列表,列表里每个 li 都有一个 id,但是 id 以及 li 的总数都是不确定的,现在我需要在每个 li 都绑定一个点击事件,能否给我一个思路,谢谢!

没猜错的话你应该是一个循环对吧,这样不就行了

<li id="check_<%= xxx.id %>">

jq 做法,用 class,不用 id,或者直接用 li 选择器。

$("class name").on("click", function(){});

可以看下 jq 选择器,实现方法很多。

#2 楼 @flowerwrong 好的,我去试一下,谢谢了

#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 的方案比较好。

$("ul.xxx").on("click", "li", function(event){
  // do something
});
需要 登录 后方可回复, 如果你还没有账号请 注册新账号