您的位置:首页 > Web前端 > JQuery

Dom对象和jQuery包装集的区别和联系

2011-06-29 14:31 316 查看
1.Dom

对象


在传统的
javascript
开发中
,
我们都是首先获取
Dom
对象
,
比如
:

我们经常使用
document.getElementById
方法根据
id
获取单个
Dom
对象
,

或者使用
document.getElementsByTagName
方法根据
HTML
标签名称获取
Dom
对象集合


另外在事件函数中
,
可以通过在方法函数中使用
this
引用事件触发对象
(
但是在多播事件函数中
IE6
存在问题
),
或者使用
event
对象的
target(FF)

srcElement(iIE6)
获取到引发事件的
Dom
对象。

注意我们这里获取到的都是
Dom
对象
,
Dom
对象也有不同的类型比如
input, div, span

. Dom
对象只有有限的属性和方法



注意:this也是我们常见的Dom对象

2.jQuery

包装集


jQuery
包装集可以说是
Dom
对象的扩充
.

jQuery
的世界中将所有的对象
,
无论是一个还是一组
,
都封装成一个
jQuery
包装集
,
比如获取包含一个元素的
jQuery
包装集
:

var

jQueryObject=

$("#testDiv");

jQuery
包装集都是作为一个对象一起调用的
. jQuery
包装集拥有丰富的属性和方法
,
这些都是
jQuery
特有的


3.Dom

对象与

jQuery

对象的转换


(1) Dom



jQuery

包装集


如果要使用
jQuery
提供的函数
,

就要首先构造
jQuery
包装集
.

我们可以使用本文即将介绍的
jQuery
选择器直接构造
jQuery
包装集
,
比如
:

$("#testDiv");

上面语句构造的包装集只含有一个
id

testDiv
的元素
.

或者我们已经获取了一个
Dom
元素
,
比如
:

var

div=

document.getElementById("testDiv");

上面的代码中
div
是一个
Dom
元素
,

我们可以将
Dom
元素转换成
jQuery
包装集
:

var

domToJQueryObject=

$(div);

(2) jQuery

包装集转

Dom

对象


jQuery
包装集是一个集合
,
所以我们可以通过索引器访问其中的某一个元素
:

var

domObject=

$("#testDiv")[0];

注意
,
通过索引器返回的不再是
jQuery
包装集
,
而是一个
Dom
对象
!

jQuery
包装集的某些遍历方法
,
比如
each()

,

可以传递遍历函数
,
在遍历函数中的
this
也是
Dom
元素
,
比如
:

$("#testDiv").each(
function
() { alert(
this
) })

注意:这里的this是个Dom对象

如果我们要使用
jQuery
的方法操作
Dom
对象
,
怎么办
?

用上面介绍过的转换方法即可
:

$("#testDiv").each(
function
() { $(
this
).html("
修改内容
") })

注意:这里的
$(
this
)就变成jQuery包装集了,它就可以使用jQuery的各种方法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: