开发者社区> 问答> 正文

怎么确定触发事件的是第几个元素

怎么确定触发事件的是第几个元素

    <li class="t"></li>
    <li class="t"></li>
    <li class="t"></li>
    <li class="t"></li>
    <li class="t"></li>
    <li class="t"></li>

比如当我触发第四个li的时候 怎么判断是第四个.t class元素

展开
收起
小旋风柴进 2016-05-31 08:46:07 1589 0
1 条回答
写回答
取消 提交回答
  • 1,通过事件代理的方式,前提是li外面有一个外层容器,比如说ul

    var container = document.getElementsByTagName('ul')[0];
    var lists = container.getElementsByTagName('li');
    var len = lists.length;
    
    container.onclick = function(eve){
        var e = eve || window.event;
          var target = e.srcElement || e.target;
          for(var i = 0; i < len; i++){
            if(target === lists[i]){
                console.log('The index of li is ' + (i+1));
                  return true;
            }
        }
    }

    2,元素各自绑定自己的事件

    var lists = document.getElementsByTagName('li');
    var len = lists.length;
    
    for(var i = 0; i < len; i++){
        (function(i){
            lists[i].onclick = function(){
                console.log('The index of li is ' + (i+1));
            }
        })(i);
    2019-07-17 19:21:12
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载