如何获取未来元素的父元素在页面中所有相同元素中是第几个?

整段代码是通过js动态添加到页面中的,当b发生变化的时候如何获取a在页面所有a中是第几个(位置)?

<div class="a">
    <div class="b"></div>
</div>
阅读 3.3k
3 个回答

没太明白什么意思

如果 a 的 class 名是不变的,直接使用 jQuery

$(".a").index(this.parent())

其中的 this 是所改变的 b

[...document.querySelector('.b').parentNode.parentNode.children].indexOf(document.querySelector('.b').parentNode)

既然是动态追加的,为什么不在添加到 dom 之前就给一个标识呢?比如:

<div class="a" index="1">
    <div class="b"></div>
</div>
<div class="a" index="2">
    <div class="b"></div>
</div>
...

这样当 b 发生变化,直接取得父级的 index 属性就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题