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")) //同上 })