javascript - 如何获取包含特定子元素的元素的索引
问题描述
我有一系列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
.
解决方案
这是我到目前为止发现的,它有效:
$(".myDivs:gt("+x+"):has(h2)").eq(0).index()
由于gt
已弃用,更好的解决方案是:
$(".myDivs").slice(x).has("h2").first().index()