2015-05-17 42 views
0
什麼號碼li元素

說我有:確定一個div是

<ul> 
    <li></li> 
    <li> 
    <div id="test"></div> 
    </li> 
    <li></li> 
</ul> 

有沒有辦法從div標籤是什麼號碼li標籤告訴?

I.e.在div中有一個javascript函數返回2,因爲它位於第二個li元素內。

我知道我可以去:

  • 獲取父ul
  • 檢查每個li孩子,直到格中找到。

有沒有更好的方法來做到這一點?

回答

4

您可以使用jQuery的不同變化index()

$('li').index($('li:has(div)')); 

$('li:has(div)').index(); 

demo

+0

爲什麼不'$( '李:有(格)')指數()'? – undefined

+0

不客氣。這些代碼片段的工作方式不同,可以返回不同的值(基於標記)。這應該顯示出不同之處:https://jsfiddle.net/98p2051u/2/ – undefined

0

您可以使用.index()得到li的指數,因爲指數是基於零加1到它得到2

var $div = $('#test') 
var index = $div.parent().index() + 1 
1

你可以使用jQuery .find();類似:

<ul class="level-1"> 
    <li class="item-i">I</li> 
    <li class="item-ii">II 
     <div class="text">this is the div</div> 
    </li> 
     <li class="item-c">C</li> 
    <li class="item-iii">III</li> 
</ul> 

$( 「ul.level-1」)找到( 「格」)的CSS( 「背景顏色」, 「黃」 );

取決於你需要什麼...