jQuery中index()返回的值常常是不許確的,例以下面返回的值就不是咱們想要的值,這種狀況很是尷尬,若是對index()函數不深入理解是很容易出錯的,而且緣由很是難發現:
函數
緣由很簡單:以上寫法是返回相對於div的子元素中,p標籤的位置,並非這個點擊的p標籤相對div下全部p標籤的位置,這個相對於誰是個很重要的問題。不少新手會出現這個錯誤!this
$("span").mouseover(function(){ alert($(this).index()) // 相對父元素索引 alert($("div span").index($(this))) //相對div下的全部span的索引 alert($("div span").index(this)) //同上 alert($(this).index("div span")); //同上 alert($("span").index($(this))) //相對全部span集合的索引 alert($("span").index(this)) //同上 alert($(this).index("span")) //同上 })