jQuery的index()方法搜索匹配的元素,並返回相應元素的索引值,從0開始計數;
如果沒給.index()方法傳遞參數,那么返回值就是這個jQuery對象集合中第一個元素相對於同輩元素的位置;
如果參數是一組DOM元素或者jQuery對象,那么返回值就是傳遞的元素相對於原先集合的位置;
如果參數是一個選擇器,那么返回值就是原先元素相對於選擇器匹配元素中的位置,如果找不到匹配的元素,則返回-1;
eg:
<ul>
<li id="ch">ch</li>
<li id="ang">ang</li>
<li id="ing">ing</li>
</ul>
$('li').index(document.getElementById('ang')) //1 傳遞一個DOM對象,返回這個對象在原先集合中的索引位置
$('li').index($('#ang')) // 1 傳遞一個jQuery對象
$('li').index($('li:gt(0)')) // 1 傳遞一個jQuery對象,返回這個對象中第一個元素在原先集合中的索引位置
$('#ang').index('li') // 1 傳遞一個選擇器,返回#ang在所有li中的索引位置
$('#ang').index() // 1 不傳遞參數,返回這個元素在同輩中的索引位置
案例:
<div id="nav">
<a href="http://www.baidu.com/">百度1</a>
<a href="http://www.baidu.com/">百度2</a>
<a href="http://www.baidu.com/">百度3</a>
<a href="http://www.baidu.com/">百度4</a>
</div>
$('#nav a').click(function () {
var index1 = $('#nav a').index(this)
var index2 = $('#nav a').index($(this))
var index3 = $(this).index()
var index3 = $(this).index('a')
alert(index3)
return false
})
(點擊網頁中百度1、2、3、4依次彈出0、1、2、3)