原文 (%3Ca%20href=%22http://onestopweb.iteye.com/blog/2358944%22%3E%3C/a%3E)(%3Ca%20href=%22http://onestopweb.iteye.com/blog/2358944%22%3E%3C/a%3E)
index()函数用于获取当前jQuery对象中指定DOM元素的索引值。
语法:jQueryObject.index( [ object ] )
这里的object指的是:可选/String/Element/jQuery类型表示指定元素的对象。
index()方法的返回值为Number类型,返回指定元素的索引位置(从0开始算起)。
注意:以下文本描述中的当前元素表示当前jQuery对象的第一个元素。
如果没有指定参数object,则返回当前元素在其所有同辈元素中的索引位置。
如果object为String类型,则将其视作选择器,返回当前元素在选择器所匹配的元素中的索引位置。如果该选择器不匹配任何元素或者当前元素不在匹配到的元素内,则返回-1。
如果object为DOM元素或jQuery对象,则返回该元素(或该jQuery对象中的第一个元素)在当前jQuery对象所匹配的元素中的索引位置。
- <!DOCTYPE html>
- <html lang=”zh-cn”>
- <head>
- <meta charset=”UTF-8”>
- <title></title>
- </head>
- <body>
- <div id=”n1”>
- <div id=”n2”>
- <span id=”n3”></span>
- <ul id=”n4”>
- <li id=”n5”>item1</li>
- <li id=”n6”>item2</li>
- <li id=”n7”>item3</li>
- </ul>
- <span id=”n8”></span>
- </div>
- </div>
- <script type=”text/javascript” src=“jquery-1.10.1.min.js”></script>
- <script>
- // 省略参数: 返回第一个li元素在所有同辈元素中的索引
- console.info((<span class="string">"li"</span><span>).index());</span><span class="comment">//0</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为DOM元素: 返回n6在 (<span class="string">"li"</span><span>).index());</span><span class="comment">//0</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为DOM元素: 返回n6在 li中的索引
- console.info((<span class="string">"li"</span><span>).index(document.getElementById(</span><span class="string">"n6"</span><span>)));</span><span class="comment">//1</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为jQuery对象: 返回 (<span class="string">"li"</span><span>).index(document.getElementById(</span><span class="string">"n6"</span><span>)));</span><span class="comment">//1</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为jQuery对象: 返回 (“#n7”)在li中的索引</span><span> </span></span></li><li><span>console.info( li中的索引</span><span> </span></span></li><li><span>console.info( (”li”).index((</span><span class="string">"#n7"</span><span>)));</span><span class="comment">//2</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为选择器字符串: 返回 (</span><span class="string">"#n7"</span><span>)));</span><span class="comment">//2</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 参数为选择器字符串: 返回 li中的第一个元素(即n5)在选择器”#n4”所匹配的元素中的索引
- // 选择器”#n4”匹配的元素只有n4一个,没有n5,因此返回-1
- console.info((<span class="string">"li"</span><span>).index(</span><span class="string">"#n4"</span><span>));</span><span class="comment">//-1</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 省略参数:n4在同辈元素中的索引,n4之前的同辈元素有一个n3,因此返回索引为1</span><span> </span></span></li><li><span>console.info( (<span class="string">"li"</span><span>).index(</span><span class="string">"#n4"</span><span>));</span><span class="comment">//-1</span><span> </span></span></li><li><span> </span></li><li><span><span class="comment">// 省略参数:n4在同辈元素中的索引,n4之前的同辈元素有一个n3,因此返回索引为1</span><span> </span></span></li><li><span>console.info( (”#n4”).index());//1
- // 参数为选择器字符串:n8在选择器”span”所匹配的元素中的索引
- // 选择器”span”匹配n3、n8两个元素,n8是其中的第二个元素,因此返回索引为1
- console.info($(”#n8”).index(“span”));//1
- </script>
- </body>
- </html>
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="n1"> <div id="n2"> <span id="n3"></span> <ul id="n4"> <li id="n5">item1</li> <li id="n6">item2</li> <li id="n7">item3</li> </ul> <span id="n8"></span> </div> </div> <script type="text/javascript" src="jquery-1.10.1.min.js"></script> <script> // 省略参数: 返回第一个li元素在所有同辈元素中的索引 console.info($("li").index());//0 // 参数为DOM元素: 返回n6在$li中的索引 console.info($("li").index(document.getElementById("n6")));//1 // 参数为jQuery对象: 返回$("#n7")在$li中的索引 console.info($("li").index($("#n7")));//2 // 参数为选择器字符串: 返回$li中的第一个元素(即n5)在选择器"#n4"所匹配的元素中的索引 // 选择器"#n4"匹配的元素只有n4一个,没有n5,因此返回-1 console.info($("li").index("#n4"));//-1 // 省略参数:n4在同辈元素中的索引,n4之前的同辈元素有一个n3,因此返回索引为1 console.info($("#n4").index());//1 // 参数为选择器字符串:n8在选择器"span"所匹配的元素中的索引 // 选择器"span"匹配n3、n8两个元素,n8是其中的第二个元素,因此返回索引为1 console.info($("#n8").index("span"));//1 </script> </body> </html>
效果图: