jQuery包装集

jQuery包装集指的是通过$()方法返回的一个元素集,这跟一般的javascript数组有所区别, 包装集在后者的基础上还有一些初始化的函数和属性。 我们可以对二者进行一个比较:

jsdiv = document.getElementsByTagName("div");
jqdiv = $("div");

// javascript 元素集
console.log(jsdiv);
    
// jquery 包装集
console.log(jqdiv);

用firebug调试一下,查看返回的对象:

可以看到,document.getElementsByTagName("div")返回的是一个HTMLCollection元素集。而$("div")返回的是一个对象,这个对象中包含三个div元素,我们可以通过jqdiv[n]的方法访问,同时,这个对象还包含了一些属性(例如length属性)和方法(例如add()、append()方法),这些方法和属性是所有的包装集所共有的。

jQuery包装集_第1张图片

那么有没有便捷的方法将jquery包装集转化为javascript数组呢?。。。。当然可以!

jqdiv = $("div");
// jquery 包装集
console.log(jqdiv);
//jquery包装集转化为javascript数组
console.log(jqdiv.get());

使用get()方法!!

.get(index):获取包装集里的一个或所有匹配的元素。如果不指定参数,包装集里的所有元素就以javascript数组的形式返回;如果指定的下表参数,就返回下表所对应的元素。

 在firebug中查看结果可以发现使用.get()方法后直接得到了javascript数组:

你可能感兴趣的:(jquery)