尝试添加获取每个监听项以记录唯一编号

时间:2019-08-20 09:32:29

标签: javascript dom event-listener

我已经使用for循环创建了一个列表,并希望向其中的每个添加一个事件侦听器,以便在单击每个项目时将其编号记录在控制台中(例如,如果单击了列表项目1, log返回变量currentNumber为0)。

但是,使用当前的代码,我在控制台日志中得到的只是“ 4”。有人可以帮我吗?谢谢。

 for (i = 0; i < tipsCatalog.length; i++) {
     var newCategory = document.createElement('li');
     newCategory.id = "sMonTipHeadline-" + [i];
     newCategory.className = "sMonTipHeadline";
     newCategory.innerHTML = tipsCatalog[i].tipHeadline;
     catalogContainer.appendChild(newCategory);
 }

 var currentNumber = [];

 for (i = 0; i < tipsCatalog.length; i++) {
     currentNumber[i] = i;
     tipsCatalogList[i].addEventListener('click', function() {console.log(currentNumber[i])});
 }

1 个答案:

答案 0 :(得分:0)

我会尝试将数字添加到元素的属性中,然后在需要时从那里获取。

tipsCatalogList[i].addEventListener('click', function() {console.log($(this).attr('yournumber'))});