在下面的代码行中,对set中第一个元素的index()函数的调用返回1.为什么它不返回0?
var firstBlockIndex = $( '.block' ).first().index();
Run Code Online (Sandbox Code Playgroud)
考虑下面的HTML块:
<div>
<span></span>
<span class="block"></span>
<span class="block"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
然后
$('.block').first().index();
Run Code Online (Sandbox Code Playgroud)
返回1是因为
如果没有将参数传递给.index()方法,则返回值是一个整数,指示jQuery对象中第一个元素相对于其兄弟元素的位置.
在<div>块内有4个<span>标签.在first()与类"块"一个是第二标签.因此它的索引是1,因为index()从零开始(ref).
演示:JSFiddle
要获取元素相对于所有匹配元素的位置,可以传入选择器或元素index()以获取集合中某些缩小选择器的索引.考虑这个HTML块:
<div>
<span></span>
<span class="block"></span>
<span class="block"></span>
<span class="block special"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
然后
$('.block').index( $(".special") ));
Run Code Online (Sandbox Code Playgroud)
将返回2,因为具有"特殊"类的跨度是"块"类的元素组中的第3个元素.
演示:JSFiddle
| 归档时间: |
|
| 查看次数: |
450 次 |
| 最近记录: |