jQuery object 和 DOM element 之间的关系

在使用jQuery时,发现有两种对象,一个是[object Object],另一个是就像[object HTMLDivElement]

前者是jQuery对象,通过jQuery的选择器$('selector')获得;后者是DOM元素,为 javascript中的getElementById, getElementsByTagName等方法的返回类型。

只有jQuery对象才能使用jQuery的一系列方法,DOM元素是不能用的。

其实,jQuery对象就类似一个数组,它包含了一个或多个与jQuery选择器匹配的DOM元素。

复制代码
//一个js获取的标签为li的元素数组
var normalArray = document.getElementsByTagName('li');  

//相当于上面的,但是是一个jQuery对象
var jQueryArray = $('li');

//如果是由元素Id获得DOM元素的话,则jQuery对象就像一个长度为1的数组。
//比如,以下三个alert的结果是相同的
alert(document.getElementById('myID'));
alert($('#myID')[0]);
alert($('#myID').get(0));

//*** jQuery对象与DOM元素之间的转换 ***

//返回与 jQuery 选择器匹配的DOM元素的数量
jQueryArray.length;
jQueryArray.size();

//从jQuery对象获得普通的DOM集合,[<li id="foo">, <li id="bar">]
jQueryArray.get();
jQueryArray.toArray();

//根据index获取数组中的某个元素
jQueryArray.get(index);
jQueryArray[index];

//当index是-1时,由于负数index是从数组最后开始算,所以返回数组的最后一个元素
jQueryArray.get(-1);

//当从一个jQuery对象获得一个DOM元素后,把该元素再转变成一个jQuery对象,以便调用jQuery的方法
$(jQueryArray[0]);
注意:$()函数能把一个DOM元素转变为一个jQuery对象
复制代码
转自:https://www.cnblogs.com/daisuki/archive/2013/04/04/2999745.html
posted @ 2017-11-22 09:15  董永辉Bruno  阅读(1767)  评论(0编辑  收藏  举报