javascript - 在javascript中查找元素的索引

标签 javascript wordpress indexing submenu getelementsbyclassname

我按类名获取所有元素,并为每个元素创建一个监听器,如下所示:

const subnavs = document.getElementsByClassName('subnav') 
for ( let i =0 ; i <subnavs.length ; i++ ) {
   subnavs[i].addEventListener('mouseover', function() {
   purpleDiv.style.marginTop =  rect.height + 'px'
}) 

当鼠标事件被触发时,如何获取被单击的“子导航”的索引?这是在 Wordpress 中,所以我没有一种简单的方法来向每个子导航添加 id 来实现这一目的。

最佳答案

如果您想要索引,只需在回调中使用 i 即可:

   subnavs[i].addEventListener('mouseover', function() {
       purpleDiv.style.marginTop =  rect.height + 'px'
       console.log("INDEX: ", i)
   }) 

如果您稍后尝试使用索引来访问该元素,我建议您执行以下操作:

当事件监听器中的回调被调用时,它会传递一个 MouseEvent

因此,如果将 function() { 更改为 function(event) {,您可以使用 event.target 获取鼠标悬停在上面的特定元素。这是触发“mouseover”事件的元素。

   subnavs[i].addEventListener('mouseover', function(event) {
       purpleDiv.style.marginTop =  rect.height + 'px'
       console.log("ELEMENT: ", event.target)
   }) 

关于javascript - 在javascript中查找元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58331745/

相关文章:

javascript - Google Web Search API - XMLHttpRequest 无法加载资源

javascript - 如何通过 .html() jquery 方法传递标签内的变量?

mysql - 如何根据单独行中另一个字段的值显示一行?

indexing - 如何在 ElasticSearch 中创建索引时指定分析器

MySQL 查询缓慢或卡在发送数据上

javascript - 使用 onclick 将变量传递给表单

javascript - css - jquery 移动样式未应用

html - 使按钮 "Search"可点击 HTML/CSS

mysql - SQL(通过 phpMyAdmin)

search - solr在数据库或文件中存储搜索索引的位置?