jquery擷取當前元素索引值index()方法(總結)

來源:互聯網
上載者:User

標籤:

jquery的index()方法 搜尋匹配的元素,並返回相應元素的索引值,從0開始計數。

如果不給 .index() 方法傳遞參數,那麼傳回值就是這個jQuery對象集合中第一個元素相對於其同輩元素的位置。
如果參數是一組DOM元素或者jQuery對象,那麼傳回值就是傳遞的元素相對於原先集合的位置。
如果參數是一個選取器,那麼傳回值就是原先元素相對於選取器匹配元素中的位置。如果找不到匹配的元素,則返回-1。 

1 <ul>2   <li id="foo">foo</li>3   <li id="bar">bar</li>4   <li id="baz">baz</li>5 </ul>

1 $(‘li‘).index(document.getElementById(‘bar‘)); //1,傳遞一個DOM對象id為bar,返回這個對象在原先集合中的索引位置2 $(‘li‘).index($(‘#bar‘)); //1,傳遞一個jQuery對象3 $(‘li‘).index($(‘li:eq(0)‘)); //1,傳遞一組jQuery對象,返回這個對象中第一個元素在原先集合中的索引位置4 $(‘#bar‘).index(‘li‘); //1,傳遞一個選取器,返回#bar在所有li中的索引位置5 $(‘#bar‘).index(); //1,不傳遞參數,返回這個元素在同輩中的索引位置。  

 

jquery擷取元素索引值index()樣本

1 <div id="nav">2     <a href="http://www.51xuediannao.com/">建站素材</a>3     <a href="http://www.51xuediannao.com/">jquery特效</a>4     <a href="http://www.51xuediannao.com/">懶人主機</a>5     <a href="http://www.51xuediannao.com/qd63/">前端路上</a>6 </div>

 

1 $("#nav a").click(function(){2     var index1 = $("#nav a").index(this);3     var index2 = $("#nav a").index($(this));4     var index3 = $(this).index()5     var index3 = $(this).index("a")6     alert(index3);7     return false;8 });

 

上面是介紹的知識,然後自己實際運用中經常會出現

$(this).index() 傳回值為一直為-1的情況。

$(this).index() 傳回值為一直為-1,導致圖片無法正常滾動,說明找不到匹配的元素。

比如下面的例子。

想要知道<ul>下的一堆<li>中,自己點擊的<li>的索引值是什麼,原文如下:

1 1 $("li").hover(function(){ 2 2 alert($("li").index(this)); 3 3 }); 

 

  使用起來很簡單,My Code是

1 1 $("#mainleft .menu li").click(function(){2 2          $("#mainleft .menu li.current").removeClass("current");3 3          $(this).addClass("current");4 4          var index = $("#mainleft .menu li").index(this);5 5          alert(index);6 6     });

 

下一個引用:

如果 列表裡面 有N多的清單項目 我想知道我點擊了哪一個 應該怎麼取呢?
jQuery 裡面 提供了一個 index() 方法 :index(subject)

搜尋與參數表示的對象匹配的元素,並返回相應元素的索引值值。

如果找到了匹配的元素,從0開始返回;如果沒有找到匹配的元素,返回-1。

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

1 <ul>2     <li><a href="#nogo">這裡是一個序列</a></li>3     <li><a href="#nogo">這裡是一個序列</a></li>4     <li><a href="#nogo">這裡是一個序列</a></li>5     <li><a href="#nogo">這裡是一個序列</a></li>6     <li><a href="#nogo">這裡是一個序列</a></li>7     <li><a href="#nogo">這裡是一個序列</a></li>8 </ul> 

 

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

1 $(document).ready(function(){ 2 $("#act li").click(function(){3    alert( $( "#act li" ).index( $(this)[0] ) );4    })5 }) 

 也可以寫成

alert($(‘#act li‘).index(this)[0]);或者 alert($(‘#act li‘).index(this));


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

 

jquery擷取當前元素索引值index()方法(總結)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.