javascript - 查询getElementsByTagName中元素的数组索引号

查看:141
本文介绍了javascript - 查询getElementsByTagName中元素的数组索引号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在编写动作事件的时候,想将js部分和html部分完全分割出去,
首先是html中的元素:

<div id="show">
        <div id="title">
            <div>a</div>
            <div>b</div>
            <div>c</div>
        </div>
    </div>

也就是两个div;
按照我所知道的方法是:

window.onload=showChange;
function showChange(){
    var GO=document.getElementById("title");
    for (var i = 0; i < GO.getElementsByTagName("div").length; i++) {
        GO.getElementsByTagName("div")[i].onmouseover=function(){
                    #code
        }
    }
}

然后问题来了,我希望通过window.event.srcElement---当鼠标划过的时候输出对应的i值,或者是说,希望能够或的通过getElementsByTagName查找时,各个子div在数组中的索引号.
如果有其他的方法,只要是满足js和html分离的也麻烦提供一下。
搞了很久都搞不出来,麻烦大家帮个忙。

解决方案

你的意思是划过 a,b,c的时候能得到他们对应的索引值0,1,2?

var nodelist=document.getElementById("title").getElementsByTagName("div");
for(var i=0;i<nodelist.length;i++){
    (function(x){
        nodelist[x].addEventListener("mousemove",function(){
         console.log(x)
        })
    })(i)
}

或者用let定义变量

for(let i=0;i<nodelist.length;i++){
   nodelist[i].addEventListener("mousemove",function(){
         console.log(i)
   })
}

这篇关于javascript - 查询getElementsByTagName中元素的数组索引号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆