代码改变世界

jquery index()方法

2014-10-09 21:03  youxin  阅读(2354)  评论(0编辑  收藏  举报

搜索匹配的元素,并返回相应元素的索引值,从0开始计数。

如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。
        如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。
        如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。 具体请参考示例。

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
  <li id="baz">baz</li>
</ul>
jQuery 代码:
$('li').index(document.getElementById('bar')); //1,传递一个DOM对象,返回这个对象在原先集合中的索引位置
$('li').index($('#bar')); //1,传递一个jQuery对象
$('li').index($('li:gt(0)')); //1,传递一组jQuery对象,返回这个对象中第一个元素在原先集合中的索引位置
$('#bar').index('li'); //1,传递一个选择器,返回#bar在所有li中的做引位置
$('#bar').index(); //1,不传递参数,返回这个元素在同辈中的索引位置

 

 

html:
<dl class="topNavDl">
    <dt><a href="#" class="selectedNav">信息查询</a></dt>
    <dd></dd>
    <dt><a href="#" id="yewu">业务应用</a></dt>
    <dd></dd>
    <dt><a href="#">数据维护</a></dt>
    <dd></dd>
    <dt><a href="#" id="pingtai" >平台服务</a></dt>
    <dd></dd>
    <dt><a href="#">运行管理</a></dt>
</dl>
 
jQuery:
$(".topNavDl dt a").click(function(){
    alert($(".topNavDl dt a").index(this));
});

 

jquery怎么判断所点击元素是其父元素中的第几个子元素?

比如有如下代码

HTML code

<div>
<span>内容</span>
<span>内容</span>
<span>内容</span>
<span>内容</span>
</div>

我现在想给span绑定个click事件 $("span").click(function(){})
希望一点击某个span 显示出 该span属于其父元素<div>中的第几个子元素
应该怎么写?

 
$("span").click(function(){
alert($(this).index()+1);
});
index()返回该元素的索引值,可表示该span属于其父元素<div>中的第几个子元素。

官网:http://api.jquery.com/index/