javascript - 查询getElementsByTagName中元素的数组索引号
PHP中文网
PHP中文网 2017-04-11 09:12:58
[JavaScript讨论组]

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

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

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

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

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
阿神

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

var nodelist=document.getElementById("title").getElementsByTagName("p");
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)
   })
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号