jQuery允许把包装集当成JavaScript数组进行处理,因此,可以利用简单的数组下标,即通过位置来获取在包装序列里的任何元素。例如,从页面上带有alt属性的所有<img>元素的集合中获取第一个元素,可以这样写:
$('img[alt]')[0]
如果更喜欢使用方法而不是数组下标,可以利用jquery定义的get()方法来达到目的。
get语法:get(index)
获取包装集里的一个或所有匹配元素。如果不指定参数,包装集里的所有元素就以javascript数组的形式返回;如果指定了下标参数,就返回下标所对应的元素。
如下片段
$("img[alt]").get(0)
这个语句把页面上前面是近邻元素的所有<label>元素的所有和<button>元素包装到jquery包装器里,然后创建由那些元素所组成的javascript数组,赋值为变量allLableedButtons
可以利用逆运算,获取包装集里特定元素的下标。假定因为某个理由,想要知道在页面上整个图像集里id为findMe的图像的顺序下标,可用以下语句获取下标
var n = $("img").index($('img#findMe')[0]);
index()语法:index(element)
在包装集里查找传入的元素,并返回该元素在包装集里的顺序下标;如果该元素不在包装集里,则返回-1
jquery的get()函数取得所有匹配DOM元素的集合,可以直接操作DOM对象而不是JQuery对象,其返回值为元素数组
例子:选择文档中所有图像作为元素数组,并用数组内建的 reverse 方法将数组反向。
html代码片断
<img src ="1.jpg"/> <img src ="2.jpg"/>
jquery代码片断
$("img").get().reverse();
结果
<img src ="2.jpg"/><img src ="1.jpg">
get(index)方法为取得对应位置的匹配元素,即第index个匹配元素,这能够让你选择一个实际的DOM 元素并且对他直接操作,而不是通过 jQuery 函数。$(this).get(0)与$(this)[0]等价。
index()方法: 返回值为number类型,搜索匹配的元素并返回相应的索引值,从0开始,如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置。 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置。 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置。如果找不到匹配的元素,则返回-1。