天天看點

jQuery中 index() 方法的使用

如果 清單裡面 有N多的清單項目 我想知道我點選了哪一個 應該怎麼取呢?

jQuery 裡面 提供了一個 index() 方法 :index(subject)

搜尋與參數表示的對象比對的元素,并傳回相應元素的索引值值。

如果找到了比對的元素,從0開始傳回;如果沒有找到比對的元素,傳回-1。

但是 API裡面提供的例子貌似不對

<ul>

    <li><a href="#nogo">這裡是一個序列</a></li>

</ul> 

如上所示,這是一個無序清單 我要點選任意一個清單項目 要求得到該項目的序列 該怎麼樣呢?

$(document).ready(function(){ 

$("#act li").click(function(){

   alert( $( "#act li" ).index( $(this)[0] ) );

   })

}) 

 $( "#act li" ).index( $(this)[0] )    [0]灰常重要哦~

如下的清單 我們點選一個 要找到目前的清單項目的序列 我們應該這樣寫 :

$(document).ready(function(){

      $("li").click(function(){

          alert($( "ul li" ).index( $( this)[0] ) ) ;

}) })

紅色的部分很重要 如果 你丢掉了 li 肯定報 -1 的 也就是找不到

如果 UL 有ID 也可以直接用ID 選擇

<ul id="act">

    <li><a href="#nogo">中超聯賽世界排名不敵新加坡</a></li>

</ul>

$(document).ready(function(){

$("#act li").click(function(){

   alert( $( "#act li" ).index( $(this)[0] ) );

   })