最初认识index()是在轮播图中,获取当前点击对象在数组中的位置。那时候,对index()的使用只有eq($(this).index()),看了文档之后,才知道自己有多幼稚!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index()</title>
<style type="text/css">
*{padding:0; margin:0;}
div{width:100px; height:100px; margin:20px; background:#e5e5e5;}
</style>
<script src="js/jquery-1.11.3.min.js"></script>
</head>
<body>
<ul>
<li id="foo"></li>
<li id="bar"></li>
<li id="baz"></li>
</ul>
<div class="links">
<a class="link" href="#"></a>
<a class="link" href="#"></a>
<a class="link" href="#"></a>
</div>
<div class="con"><a href=""></a></div>
<div class="con"><a class="acon" href=""></a></div>
<div class="con"><a class="acon" href=""></a></div>
<script type="text/javascript">
$(function(){
var i1=$("li").index();
console.log(i1);//不给index()方法传递参数,那么返回值就是这个Jquery对象集合中第一个元素相对其同辈元素的位置。
var i2=$("li").index(document.getElementById("bar"))
console.log(i2);//给index()传递一个DOM对象,那么返回值就是这个DOM对象在原先集合中的索引位置
var i3=$("div .link").index("a")//给index传递一个选择器,那么返回值就是原先元素相对于选择器匹配元素集合中的索引位置
console.log(i3);
var i4=$(".acon").index(".con a");
console.log(i4);//同上
var i5=$(".con a").index($(".acon"));//传递一组JQuery对象,返回这个对象集合中第一个元素在原先集合中的索引位置
console.log(i5);
/*
总结:
1、不传对象,返回对象集合中的第一个元素相对于同辈元素的位置。
2、传递DOM对象或JQuery对象,返回此对象在原先集合中的索引位置
3、传递选择符,返回原先对象在匹配选择符集合中的索引位置
*/
});
</script>
</body>
</html>
总结:
1、不传对象,返回对象集合中的第一个元素相对于同辈元素的位置。
2、传递DOM对象或JQuery对象,返回此对象在原先集合中的索引位置。
3、传递选择符,返回原先对象在匹配选择符集合中的索引位置或者原先对象集合中第一个元素在选择符集合中的索引位置。