格式:
index([subject]) 返回值:Number
概述:
搜索匹配的元素,并返回相应元素的索引值,从0开始计数。无匹配,则返回-1。
用法:
$("xxx").index() //无参数,返回jquery对象中第一个元素在同辈元素中的索引值。 后找前;
$("xxx").index(Selector) //Selector参数,返回jquery对象中第一个元素在Selector中的索引值。 后找前;
$("xxx").index(Element) //dom Element参数,返回dom元素在jquery对象中的索引值。 前找后;
$("xxx").index($("yyy")) //jquery对象参数,返回jquery对象中第一个元素在jquery对象中的索引值。 前找后;
实例:
<!DOCTYPE html>
<html>
<head>
<style>div { font-weight: bold; color: #090; }</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
<li id="baz">baz</li>
</ul>
<div></div>
<script>
//在测试时,只能留一条代码,其它的可注释掉
$('div').html( 'Index: ' + $('li').index($('#bar'));
//传递一个jquery对象,返回$('#bar')在$('li')集合的索引位置;
$('div').html( 'Index: ' + $('li').index($('li:gt(0)'));
//传递一个jquery对象,返回$('li:gt(0)')中第一个元素在$('li')集合的索引位置;
$('div').html( 'Index: ' + $('li').index(document.getElementById('bar'));
//传递一个dom元素,返回document.getElementById('bar')在 $('li')集合的索引位置;
$('div').html( 'Index: ' + $('#bar').index('li');
//传递一个选择器,返回 $('#bar')在'li'可的索引位置;
$('div').html( 'Index: ' + $('#bar').index();
//不递参数,返回$('#bar')在同辈中的索引位置。
</script>
</body>
</html>
如果 列表里面 有N多的列表项目 我想知道我点击了哪一个 应该怎么取呢?
jQuery 里面 提供了一个 index() 方法 :index(subject)
搜索与参数表示的对象匹配的元素,并返回相应元素的索引值值。
如果找到了匹配的元素,从0开始返回;如果没有找到匹配的元素,返回-1。
但是 API里面提供的例子貌似不对
<ul>
<li><a href="#nogo">这里是一个序列</a></li>
<li><a href="#nogo">这里是一个序列</a></li>
<li><a href="#nogo">这里是一个序列</a></li>
<li><a href="#nogo">这里是一个序列</a></li>
<li><a href="#nogo">这里是一个序列</a></li>
<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]灰常重要哦~