$(this).index()在使用jQuery時出鏡率很是高,在編寫選項卡及輪播圖等特效時常常用到,但$(obj).index(this)彷佛有點陌生。測試
爲便於理解,如下分兩個使用場景加以分析。this
場景一: 同級元素標籤相同spa
<ul> <li>one</li> <li>two</li> <li>three</li> <li>four</li> </ul>
<script> // $(this).index() 測試代碼一 $("li").on("click",function(){ var index = $(this).index(); console.log(index); // 依次點擊li元素輸出: 0,1,2,3 }) // $(obj).index(this) 測試代碼二 $("li").on("click",function(){ var index = $("li").index(this); console.log(index); // 依次點擊li元素輸出: 0,1,2,3
}) </script>
執行兩段腳本並依次點擊li元素,都是輸出: 0/1/2/3,在這個場景下,做用同樣。code
場景二:同級元素標籤不相同對象
<div> <p>this is span</p> <p>this is span</p> <b>this is b</b> <b>this is b</b> </div>
<script> // $(this).index() 測試代碼一 $("b").on("click",function(){ var index = $(this).index(); console.log(index); // 依次點擊b元素輸出:2,3 }) // $(obj).index(this) 測試代碼二 $("b").on("click",function(){ var index = $("b").index(this); console.log(index); // 依次點擊b元素輸出:2,3 }) </script>
測試代碼一中,index()是元素在當前同級元素中的位置下標,不區分標籤;blog
測試代碼二中,返回值是當前操做元素(this)在$("b")集合中的下標。($( "b" )是jQuery對象集合,因此非同級元素也能夠使用,有興趣本身能夠測試)three