首页 > 代码库 > jquery获取当前元素索引值index()方法(总结)
jquery获取当前元素索引值index()方法(总结)
jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数。
如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。
如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。
如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。
1 <ul>2 <li id="foo">foo</li>3 <li id="bar">bar</li>4 <li id="baz">baz</li>5 </ul>
1 $(‘li‘).index(document.getElementById(‘bar‘)); //1,传递一个DOM对象id为bar,返回这个对象在原先集合中的索引位置2 $(‘li‘).index($(‘#bar‘)); //1,传递一个jQuery对象3 $(‘li‘).index($(‘li:eq(0)‘)); //1,传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置4 $(‘#bar‘).index(‘li‘); //1,传递一个选择器,返回#bar在所有li中的索引位置5 $(‘#bar‘).index(); //1,不传递参数,返回这个元素在同辈中的索引位置。
jquery获取元素索引值index()示例
1 <div id="nav">2 <a href="http://www.51xuediannao.com/">建站素材</a>3 <a href="http://www.51xuediannao.com/">jquery特效</a>4 <a href="http://www.51xuediannao.com/">懒人主机</a>5 <a href="http://www.51xuediannao.com/qd63/">前端路上</a>6 </div>
1 $("#nav a").click(function(){2 var index1 = $("#nav a").index(this);3 var index2 = $("#nav a").index($(this));4 var index3 = $(this).index()5 var index3 = $(this).index("a")6 alert(index3);7 return false;8 });
上面是介绍的知识,然后自己实际运用中经常会出现
$(this).index() 返回值为一直为-1的情况。
$(this).index() 返回值为一直为-1,导致图片无法正常滚动,说明找不到匹配的元素。
比如下面的例子。
想要知道<ul>下的一堆<li>中,自己点击的<li>的索引值是什么,原文如下:
1 1 $("li").hover(function(){ 2 2 alert($("li").index(this)); 3 3 });
使用起来很简单,我的代码是
1 1 $("#mainleft .menu li").click(function(){2 2 $("#mainleft .menu li.current").removeClass("current");3 3 $(this).addClass("current");4 4 var index = $("#mainleft .menu li").index(this);5 5 alert(index);6 6 });
下一个引用:
如果 列表里面 有N多的列表项目 我想知道我点击了哪一个 应该怎么取呢?
jQuery 里面 提供了一个 index() 方法 :index(subject)
搜索与参数表示的对象匹配的元素,并返回相应元素的索引值值。
如果找到了匹配的元素,从0开始返回;如果没有找到匹配的元素,返回-1。
但是 API里面提供的例子貌似不对
1 <ul>2 <li><a href="#nogo">这里是一个序列</a></li>3 <li><a href="#nogo">这里是一个序列</a></li>4 <li><a href="#nogo">这里是一个序列</a></li>5 <li><a href="#nogo">这里是一个序列</a></li>6 <li><a href="#nogo">这里是一个序列</a></li>7 <li><a href="#nogo">这里是一个序列</a></li>8 </ul>
如上所示,这是一个无序列表 我要点击任意一个列表项目 要求得到该项目的序列 该怎么样呢?
1 $(document).ready(function(){ 2 $("#act li").click(function(){3 alert( $( "#act li" ).index( $(this)[0] ) );4 })5 })
也可以写成
alert($(‘#act li‘).index(this)[0]);或者 alert($(‘#act li‘).index(this));
$( "#act li" ).index( $(this)[0] ) [0]灰常重要哦~
jquery获取当前元素索引值index()方法(总结)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。