使用$()选择器获取相同一类DOM元素的伪数组,index问题

项目场景:

提示:这里简述项目相关背景:
jquery项目中经常会使用$()选择器获取相同一类DOM元素的伪数组,然后通过下标index操作指定位置的DOM元素

问题描述

提示:这里描述项目中遇到的问题:
指定的index往往不是自己想要的那一个
点击当前元素的index值全是0
点击当前元素的index值全是0

<body>
    <div><a href="#">0</a></div>
    <div><a href="#">1</a></div>
    <div><a href="#">2</a></div>
    <div><a href="#">3</a></div>
</body>
<script>
 $("a").click(function(){
        console.log("当前点击元素的index值:"+$(this).index())
    })
    </script>

原因分析:

提示:这里填写问题的分析:
如果被点击的元素没有父级就正常,有父级元素就是当前元素父级内的下标

在这里插入图片描述

<body>
    <a href="#">0</a>
    <a href="#">1</a>
    <a href="#">2</a>
    <a href="#">3</a>
</body>
<script>
 $("a").click(function(){
        console.log("当前点击元素的index值:"+$(this).index())
    })
    </script>


解决方案:

提示:这里填写该问题的具体解决方案:

如果要操作的元素有父级就取到最外层同级盒子索引


<body>
    <div><a href="#">0</a></div>
    <div><a href="#">1</a></div>
    <div><a href="#">2</a></div>
    <div><a href="#">3</a></div>
</body>

<script>
 $("a").click(function(){
        console.log("当前点击元素的index值:"+$(this).parents().index())//
        //$(this).index()只代表被点击元素在当前盒子中的索引而不是$("a")伪数组中的索引,$(this).parents().index()找到遍历最外层盒子索引
    })
 </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值