问题描述:灵活使用jquery中的index方法
方法签名:index([selector|element])
用法概述:P1.index(P2) //调用者P1可以为对象或集合
使用实例:
<ul> <li class="foo">Outer1</li> <li> <ul> <li>1</li> <li id="ok" class="foo">2</li> <li>3</li> <li class="foo">4</li> </ul> </li> <li>Outer3</li> </ul>
//几个测试结果
$(".foo").index(); //0 $("li").index("#ok"); //-1,找不到,因为是在匹配"#ok"的元素中查找$("li")[0] $("li").index($("#ok")); //3 $("li").index(".foo"); //0
//更多情况可自行测试和研究
jQuery源码: (推荐:)
// Determine the position of an element within // the matched set of elements index: function( elem ) { // No argument, return index in parent if ( !elem ) { return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; } // index in selector if ( typeof elem === "string" ) { return jQuery.inArray( this[ 0 ], jQuery( elem ) ); } // Locate the position of the desired element return jQuery.inArray( // If it receives a jQuery object, the first element is used elem.jquery ? elem[ 0 ] : elem, this ); }