1.问题demo:为什么footer下a的索引值那么大,index不是查找兄弟级别的元素么?而且还限定了范围在footer下的a的情况下。
解决方法:alert( $("#footer a").index($(this)) );
解析:demo那个是获取本身的节点。针对 .index()
问题进一步全面讲解:
- 如果不给
.index()
方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。 - 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。
- 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回参数是jq对象,或者dom对象。
以下代码等价:$(this).index('a') != $(this).index();
$(this).index('a') == $(this).index($("a"));