首先,對不起,如果標題不準確,我想不出更好的標題。
我有一個類似的結構:
<ol>
<li>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
<li>4.</li>
</ol>
</li>
<li>
<ol>
<li>1.</li>
</ol>
</li><li>
<ol>
<li class="active">1.</li>
<li>2.</li>
</ol>
</li><li>
<ol>
<li>1.</li>
</ol>
</li>
</ol>
現在我想用一個選擇器來獲取活動類,并想得到這個 li 相對于所有 li 的索引。所以在這個例子中,如果它是從零開始的,我應該得到“5”。
我用 index()、closest()、parent() 等嘗試了不同的方法,但沒有成功。我只為活動 li 得到 0,因為它是“his”有序串列中的第一個 li。我認為這應該是可能的,我希望你們中的一些人能給我一個提示。
uj5u.com熱心網友回復:
您可以使用 jQuery 的index () 的多載。
如果在元素集合上呼叫 .index() 并傳入 DOM 元素或 jQuery 物件,則 .index() 回傳一個整數,指示傳遞的元素相對于原??始集合的位置。
因此,創建一個包含li您感興趣的所有 s 的集合,然后傳入您想要在該集合中找到的那個。
var idx = $("ol>li>ol>li").index($(".active"));
使用 just$("li").index($(".active"))是不夠的,因為您li在內部ols 周圍有很多,所以在“所有li”中,索引實際上是 8。
console.log($("ol>li>ol>li").index($(".active")))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ol>
<li>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
<li>4.</li>
</ol>
</li>
<li>
<ol>
<li>1.</li>
</ol>
</li>
<li>
<ol>
<li class="active">1.</li>
<li>2.</li>
</ol>
</li>
<li>
<ol>
<li>1.</li>
</ol>
</li>
</ol>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/440140.html
標籤:jQuery
