jQuery获取元素索引值index,方法

jQuery的index()方法搜索匹配的元素,并返回相应元素的索引值,从0开始计数;

如果没给.index()方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于同辈元素的位置;

如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置;

如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置,如果找不到匹配的元素,则返回-1;

eg:

<ul>

  <li >ch</li>

  <li >ang</li>

  <li >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 >

  <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)