我有一系列div
元素,其中有些元素包含h2
元素作为子元素(直接或间接(后代))。我正在寻找JavaScript或jquery来给我这样一个div
元素的索引。此外,我想从特定的div
元素开始搜索。我的意思是一个索引大于包含div
的{{1}}的{{1}}元素。以下代码在包含x
的所有h2
的序列中找到那些。但是,divs
中的某些内容可能不包含h2
,因此应该计算在内。
divs
HTML示例:
h2
如果$(".myDivs h2:gt(2)").eq(0)
我希望类<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
的第四个div
的索引为3。
答案 0 :(得分:1)
这是我到目前为止发现的,有效的:
$(".myDivs:gt("+x+"):has(h2)").eq(0).index()
自gt
起已弃用,更好的解决方案是:
$(".myDivs").slice(x).has("h2").first().index()
答案 1 :(得分:0)
基本上,我认为您想要一个类似这样的jquery:
$(start).find("div").find("h2").parent("div").index();
从start元素中找到div,然后在div中找到h2标签,然后获取h2的父div,然后获取索引。
.find(“ h2”);之后可能需要一个.each(...);