jquery开发之jQuery对象和DOM对象的相互转换

如果获取的对象是jQuery对象,那么在变量前加上$,如下:

var $variable = jQuery 对象

如果获取的是DOM对象,定义如下:

var variable = DOM对象

1,jQuery对象转换成DOM对象
jQuery 提供了两种方法将一个jQuery对象转换为DOM对象,即[index] 和get(index)
(1) jQuery 对象是一个类似数组的对象,可以通过[index] 的方法得到相应的DOM对象。jQuery 代码如下:

<code class="hljs php has-numbering"><span class="hljs-keyword">var</span>  <span class="hljs-variable">$cr</span> = $(<span class="hljs-string">"#cr"</span>);  <span class="hljs-comment">// jQuery对象</span>
<span class="hljs-keyword">var</span> cr = <span class="hljs-variable">$cr</span>[<span class="hljs-number">0</span>];       <span class="hljs-comment">//DOM对象</span>
</code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li></ul>

(2)另一种方法是jQuery 本身提供的,通过get(index)方法得到相应的DOM对象,jQuery代码如下:

<code class="hljs javascript has-numbering"><span class="hljs-keyword">var</span> $cr =$(<span class="hljs-string">"#cr"</span>);     <span class="hljs-comment">//jQuery对象</span>
<span class="hljs-keyword">var</span> cr =$.get(<span class="hljs-number">0</span>);      <span class="hljs-comment">//DOM对象</span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li></ul>

2,DOM对象转换为jQuery对象
对于一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。 jQuery代码如下:

<code class="hljs javascript has-numbering"><span class="hljs-keyword">var</span> cr = document.getElementById(<span class="hljs-string">"cr"</span>);    <span class="hljs-comment">//DOM对象</span>
<span class="hljs-keyword">var</span> $cr = $(cr);  <span class="hljs-comment">//jQuery对象


</span></code><p style="">刚开始学习jQuery,可能一时会分不清楚哪些是jQuery对象,哪些是DOM对象。至于DOM对象不多解释,我们接触的太多了,下面重点介绍一下jQuery,以及两者相互间的转换。</p><p style=""><strong>什么是jQuery对象?</strong></p><p style="">---就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法。</p><p style="">比如:</p><p style="">$("#test").html() 意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法</p><p style="">这段代码等同于用DOM实现代码:</p><table style="" border="0" cellpadding="6" cellspacing="0" width="95%" align="center"><tbody><tr><td style="border-bottom:rgb(221,221,221) 1px solid; border-left:rgb(221,221,221) 1px solid; padding-bottom:5px; margin:0px; padding-left:5px; padding-right:5px; word-wrap:break-word; border-top:rgb(221,221,221) 1px solid; border-right:rgb(221,221,221) 1px solid; padding-top:5px" bgcolor="#ddedfb">document.getElementById("id").innerHTML;</td></tr></tbody></table><p style="">虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错。比如:$("#test").innerHTML、document.getElementById("id").html()之类的写法都是错误的。</p><p style="">还有一个要注意的是:用#id作为选择符取得的是jQuery对象与document.getElementById("id")得到的DOM对象,这两者并不等价。请参看如下说的两者间的转换。</p><p style="">既然jQuery有区别但也有联系,那么jQuery对象与DOM对象也可以相互转换。在再两者转换前首先我们给一个约定:如果一个获取的是 jQuery对象,那么我们在变量前面加上$,如:var $variab = jQuery对象;如果获取的是DOM对象,则与习惯普通一样:var variab = DOM对象;这么约定只是便于讲解与区别,实际使用中并不规定。</p><p style=""><strong>jQuery对象转成DOM对象:</strong></p><p style="">两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);</p><p style="">(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。</p><p style="">如:var $v =$("#v") ; //jQuery对象</p><p style="">var v=$v[0]; //DOM对象</p><p style="">alert(v.checked) //检测这个checkbox是否被选中</p><p style="">(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象</p><p style="">如:var $v=$("#v"); //jQuery对象</p><p style="">var v=$v.get(0); //DOM对象</p><p style="">alert(v.checked) //检测这个checkbox是否被选中</p><p style=""><strong>DOM对象转成jQuery对象:</strong></p><p style="">对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)</p><p style="">如:var v=document.getElementById("v"); //DOM对象</p><p style="">var $v=$(v); //jQuery对象</p><p style="">转换后,就可以任意使用jQuery的方法了。</p><p style="">通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值