</pre><pre class="html" name="code" snippet_file_name="blog_20160814_1_1762115" code_snippet_id="1828850"><ul id="unhappy">
<li id="app">app</li>
<li id="happy">happy</li>
<li id="honey">honey</li>
</ul>
第一种方式
var a = $('#honey').index();
var b = $('li').index();
var c = $('li:gt(0)').index();
第二种方式
var d = $('#honey').index('li'); //这种返回的结果和第一种方式传递#honey返回的结果完全相同,也就是a值和d值同,原因是寻找的是相同元素相同位置的索引值
var e = $('li').index($('#honey')); //此种方法和上面的方法,寻找的是相同元素相同位置的索引值
var f = $('li').index(document.getElementById('honey'));//此种方法和上面的两种方法,寻找的是相同元素相同位置的索引值
var g = $('li').index($('li:gt(1)'));//这种返回的结果和第一种方式传递li:gt(0)返回的结果完全相同,也就是c值和g值同,原因是寻找的是相同元素相同位置的索引值
var f = $('li:gt(0)').index($('li'));//这种方式就没有跟他类似的d值能正常返回结果那么幸运,只能返回-1
第二种方式也可以按照传递的对象继续划分,传递的对象为 1希望查找的指定对象 和 2指定对象所在大范围对象
1的情况下(值是d和f)
#honey这种可以正常返回
li:gt(0)这种不能正常返回
2的情况下(值是e,f,g)
都可以正常返回