-
jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数。
-
如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。
-
如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。
- 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>
<ul>
<li id="one">one</li>
<li id="two">two</li>
<li id="three">three</li>
</ul>
<div class="btn">
<input type="button" value="按钮1">
<input type="button" value="按钮2">
<input type="button" value="按钮3">
<input type="button" value="按钮4">
</div>
<span></span>
<p></p>
</div>
</body>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>
console.log($('li').index(document.getElementById('two'))); //传递一个DOM对象id为two,返回这个对象在原先集合中的索引位置 - 1
console.log($('li').index($('#three'))); //传递一个jQuery对象,返回传递的元素相对于原先集合的位置 - 2
console.log($('li').index($('li:eq(0)'))); //传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置 - 0
console.log($('#two').index('li')); //传递一个选择器,返回#two在所有li中的索引位置 - 1
console.log($('p').index()); //不传递参数,返回这个元素在同辈中的索引位置。- 3
//获取索引
$(".btn input").click(function () {
var index1 = $(".btn input").index(this); // ".btn input"不能换成this
var index2 = $(".btn input").index($(this)); // ".btn input"不能换成this
var index3 = $(this).index();
var index4 = $(this).index("input");
var index = $(".btn input").index($(this)[0]); // ".btn input"不能换成this,[0]不能换成其他值
console.log(index1);
console.log(index2);
console.log(index3);
console.log(index4);
console.log(index);
});
</script>
</html>