.index()是一个JQuery对象方法,一般用于搜索JQuery对象上一个给定的元素。该方法有四种不同的函数签名,接下来将讲解这四种函数签名的具体用法。
  • 无参数的.index()
<ul>
<div></div>
<li id="foo1">foo</li>
<li id="bar1">bar</li>
<li id="baz1">baz</li>
<div></div>
</ul>
var $foo = $( "#foo1" );
console.log( "Index: " + $foo.index() ); // 1
var $listItem = $( "li" );
// 隐式调用.last()
console.log( "Index: " + $listItem.index() ); // 3
console.log( "Index: " + $listItem.last().index() ); // 3
var $div = $( "div" );
console.log( "Index: " + $div.index() ); // 4
console.log( "Index: " + $div.last().index() ); // 4

在第一个例子中,.index()给出的是#foo1在其父节点内的序号(从0开始),由于它是其父节点中的第二个元素所以返回的是1。

    当一个JQuery对象调用.index()时,如果它包含了多个元素,那么不会计算其中第一个元素的序号,而是计算其中最后一个元素的序号,这相当于总是调用$jqObject.last().index()。
  • 一个字符串作为参数的.index()
<ul>
<div class="test"></div>
<li id="foo1">foo</li>
<li id="bar1" class="test">bar</li>
<li id="baz1">baz</li>
<div class="test"></div>
</ul>
<div id="last"></div>
var $foo = $( "li" );
// 隐式调用.first()
console.log( "Index: " + $foo.index( "li" ) ); // 0
console.log( "Index: " + $foo.first().index( "li" ) ); // 0
var $baz = $( "#baz1" );
console.log( "Index: " + $baz.index( "li" )); // 2
var $listItem = $( "#bar1" );
console.log( "Index: " + $listItem.index( ".test" ) ); // 1
var $div = $( "#last" );
console.log( "Index: " + $div.index( "div" ) ); // 2

当传入一个字符串作为参数来调用.index()时,有两个情况需要注意。

    第一,JQuery对象将隐式调用.first(),因此它将获取第一个元素的序号,而非最后一个元素。
    第二,JQuery对象是根据字符串选择器查询整个DOM,并且检测其在这个字符串选择器元素集合中的序号。
    例如,使用.index( "div" )的时候,选择的是整个文档中的所有div元素中的第一个元素。
  • 一个JQuery对象作为参数的.index()
<ul>
<div class="test"></div>
<li id="foo1">foo</li>
<li id="bar1" class="test">bar</li>
<li id="baz1">baz</li>
<div class="test"></div>
</ul>
<div id="last"></div>
var $foo = $( "li" );
var $baz = $( "#baz1" );
console.log( "Index: " + $foo.index( $baz ) ); // 2
var $tests = $( ".test" );
var $bar = $( "#bar1" );
// 隐式调用参数的.first()
console.log( "Index: " + $tests.index( $bar ) ); // 1
console.log( "Index: " + $tests.index( $bar.first() ) ); // 1

这种情况下,将会检查传入.index()的JQuery对象的第一个元素在原JQuery对象元素中的序号,这个原JQuery对象就是.index()左侧的那个JQuery对象。

  • 一个DOM元素作为参数的.index()
    这种情况下,将会传入一个DOM元素到.index()中,并检查其在原JQuery对象元素集合中的序号。

JQuery官方学习资料(译):使用JQuery的.index()方法的更多相关文章

  1. JQuery官方学习资料(译):避免与其他库的冲突

    避免与其他库的冲突     JQuery库和它所有的插件都是包含在jQuery命名空间下的,作为一般规则,全局对象被存储在jQuery的命名空间内,所以你不会得到jQuery和任何其他库之间的冲突(例 ...

  2. JQuery官方学习资料(译):类型

    类型     JavaScript提供了多个内置数据类型.除了这些,这份文档还将介绍一些虚拟类型,例如选择器.伪类.事件等. String 在JavaScript中字符串是一个不可变的对象,它包含无. ...

  3. JQuery官方学习资料(译):遍历JQuery对象和非JQuery对象

        JQuery提供了一个对象遍历的Utility方法$.each()和一个JQuery集合遍历方法.each(). $.each()     $.each()是一个通用的方法用来遍历对象和数组, ...

  4. JQuery官方学习资料(译):Utility方法

        JQuery提供了一些utility方法在$命名空间里,这些方法对完成常规的编程任务非常有帮助. $.trim()     删除前后部的空白内容. // 返回 "lots of ex ...

  5. JQuery官方学习资料(译):Data方法

        你可能经常会想需要通过元素来存储一些数据.在JavaScript中你可能需要给元素添加属性来实现这样的功能,但是在某些浏览器中,你可能还需要处理因此造成的内存泄露问题.JQuery提供了一个简 ...

  6. JQuery官方学习资料(译):CSS

        JQuery提供了一个处理方法,可以获取或设置元素的CSS属性. // 获取 CSS 属性 $( "h1" ).css( "fontSize" ); / ...

  7. JQuery官方学习资料(译):遍历

        一旦你通过JQuery创建了选择器,你就可以对此进行更为深入的遍历.遍历可以分为三个基本组成部分,父节点.子节点和兄弟节点.JQuery为这些部分提供了许多丰富易用的方法. <div c ...

  8. JQuery官方学习资料(译):JQuery对象

        每当创建一个新的元素(或者选择一个已经存在的元素)时,JQuery将返回一个元素的集合.大部分的开发人员新接触JQuery的时候,都把这个集合当做数组.这个集合中的DOM元素有从零开始的索引, ...

  9. JQuery官方学习资料(译):操作元素

      获取和设置元素的信息     有很多种方式可以改变现有的元素,最常见的是改变HTML内容或者元素的属性.JQuery提供了简单的夸浏览器的方法来帮助你实现元素信息的获取和设置. .html():获 ...

随机推荐

  1. debian 8 和centos 配置java 环境变量的正确姿态

    export JAVA_HOME=/usr/java/jre1.8.0_111export JAVA_BIN=/usr/java/jre1.8.0_111/binexport PATH=$PATH:$ ...

  2. lucene prefixQuery

    prefixQuery是lucene的一个前缀匹配的搜索功能,但是它的前缀匹配不是完全的前缀匹配,的query生成是:易* 但是能把所有带有易字的都搜到... 下面是实验:出现了交易...

  3. A 浪哥的烦恼 完全背包dp

    https://biancheng.love/contest-ng/index.html#/131/problems 首先,去到n点的最小时间是所有数加起来. 然后,如果我1 --- 2,然后再2-- ...

  4. js获取当前页面信息

    设置或获取对象指定的文件名或路径.<script>alert(window.location.pathname)</script> 设置或获取整个 URL 为字符串.<s ...

  5. Scrum Meeting (Oct. 27 2014)

    软件工程是一门十分有意思的课程,它不仅锻炼了我们开发软件的能力,更是给了我们结队作业的机会,在团队协作中,我们学会了欣赏别人,学会了品鉴自己,学会了如何集思广益凝聚成一个锐意进取的集体.继单人单词查询 ...

  6. c#开发Mongo笔记第五篇

    现在增删查改算是都完成了,但是查询算是有点不完美的,相信现在用juqeryeasyui这一类的插件的人应该也不少吧,这样的话前台展示需要JSON格式的数据, 好在mogno驱动提供toJson()的函 ...

  7. EasyUI 后台接受DataGrid传来的参数

    string ad = Context.Request.QueryString["rows"];不行 string aedf = Context.Request.Form[&quo ...

  8. js之事件

    1.事件类型 鼠标事件 onclick事件 鼠标点击某个对象 ondblclick事件 鼠标双击某个对象 onmousedown事件 鼠标按下 onmouseup事件 鼠标松开 onmouseover ...

  9. 无向图最小生成树(prim算法)

    普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树.意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小.该算法于1930年由捷 ...

  10. struts2的运行原理及配置文件

    struts2官方运行原理图: 1,客户发送请求(url地址就是请求),tomcat接到请求会找到相应的应用web.xml配置文件. 2,web.xml中filter拦截器把你的请求接收到,并进入Fi ...