首页 > 解决方案 > 如何获取包含特定子元素的元素的索引

问题描述

我有一系列div元素,其中一些包含h2元素作为子元素(直接或间接(后代))。我寻找一个 javascript 或 jquery 来给我这样一个div元素的索引。此外,我想从特定div元素开始搜索。我的意思是div一个索引大于x包含的元素h2。以下代码在所有divs包含h2. 但是,其中一些divs可能不包含h2并且应该计算在内。

$(".myDivs h2:gt(2)").eq(0)

html示例:

<div class='myDivs'></div>
<div class='myDivs'><h2>Hi</h2></div>
<div class='myDivs'></div>
<div class='myDivs'><div><h2>How are you</h2></div></div>
<div class='myDivs'></div>

如果x=2我希望第四个索引为 3,div其中myDivs包含h2.

标签: javascriptjqueryhtml

解决方案


这是我到目前为止发现的,它有效:

$(".myDivs:gt("+x+"):has(h2)").eq(0).index()

由于gt已弃用,更好的解决方案是:

$(".myDivs").slice(x).has("h2").first().index()

推荐阅读