3 jquery对象和dom对象的相互转换
更好的学习jquery,要区分好jquery对象和dom对象的区别。
先具体说说dom。举个例子
<html>
<head></head>
<body>
<ul>
<li>举个例子</li>
</ul>
</body>
</html>
这里的每个子节点,例如<head>,<ul>,<li>都是dom元素节点。这样就可以通过javascript来获取改元素节点的对象,简称dom对象。
而jquery对象就是把通过jquery把dom对象再次包装后产生的对象。
下面通过二者转换的例子,应该就能更好的的理解两者的关系。
<input type="checkbox" id="cr"/><label>我已经阅读了上面制度</label>
现在先尝试dom对象转换成jquery对象
1 $(document).ready(function(){
2
3 var cr=document.getElementById("cr");
4 var $cr=$(cr);
5
6 });
就像之前所说jquery对象就用jquery包装下dom对象,上例首先通过getElementById的方法得到dom对象,然后在用jquery包装下dom对象形成了jquery对象,实现了dom对象到jquery对象的转换。
现在再尝试jquery对象转换成dom对象。
$(document).ready(function(){
var $cr=$("#cr");
var cr=$cr[0];
// or
var cr=$cr.get(0);
});
上例先通过jquery的id选择器获得jquery对象,由于jquery对象都是一个数组对象,所以再通过[index]的方法或者get(index)的方法就能得到相应的dom对象了。
这里要强调下。为了区分好二者,在命名的时候,jquery对象前最好要加个$,例如以上的例子。
其实二者的转换并不难,关键是理解好二者的区别。