jQuery对象和DOM对象

本文介绍了jQuery对象与DOM对象的区别及如何互相转换。探讨了jQuery对象的简写方式,并对比了jQuery对象与DOM对象的不同之处。同时,详细解释了如何将jQuery对象转换为DOM对象,反之亦然。

1、  写法
  $(document).ready(function(){

 //….

});
  可以简写:
$(function(){
  //….
});

2、jQuery对象和DOM对象
 |- DOM对象
   DOM( Document Object Model,文档对象模型 ),每一份DOM都可以表示成一棵树。
   如,<h3>,<p>,<ul>以及<li>子节点都是DOM元素节点。可以通过javascript中的getElementsByTagName或者getElementById来获取元素节点。像这样得到的DOM元素就是DOM对象。DOM对象可以使用javascript中的方法,示例如下:
var  domObj = document.getElementById(“id”);  //获取dom对象
var  ObjHTML = domObj.innerHTML;  //使用javascript中的方法---innerHTML

|-jQuery对象
  jQuery对象就是通过jQuery包装DOM对象后产生的对象。
  jQuery对象就是jQuery独有的,如果一个对象是jQuery对象,那么就可以使用jQuery里的方法。例如:
$(“#foo”).html();
这段代码等价于:
document.getElementById(“foo”).innerHTML;
在JQuery对象中无法使用DOM对象的任何方法。例如$(“#id”).innerHTML和$(“#id”).checked之类的写法都是错误的,可以用$(“#id”).html()和$(“#id”).attr(“checked“)之类的jQuery方法来替换。同样,DOM对象也不能使用jQuery里的方法。例如,document.getElementById(“id”).html()也会报错,只能用document.getElementById(“id”).innerHTML;语句。

 

2、 jQuery对象和DOM对象的相互转换

在讨论jquery对象和dom对象的相互转换之前,先约定好定义变量的风格。如果获取的是jquery对象,那么在变量前面加$符号,如
var $variable = jQuery对象;
如果获取的是dom对象,则定义如下:
var variable = DOM对象;

2.1 jQuery对象转成DOM对象:
   jQuery提供了2种方法将一个jquery对象转成dom对象,即[index]和get(index)方法。
   (1)jquery对象是一个数组对象,可以通过[index]的方法得到相应的dom对象。
          var $cr = $("#cr");  //jquery对象

 var cr = $cr[0];    //DOM对象

      alert(cr.checked);
   (2)另一个方法是jQuery本身提供的,通过get(index)方法得到相应的Dom对象。
       var $cr = $("#cr");

 var cr = $cr.get(0);

 alert(cr.checked);

  2.2 DOM对象转成jQuery对象
     对于一个DOM对象,只需要用$()把Dom对象包装起来,就可以获得一个jQuery对象了。方式为 $( DOM对象);

     var cr =document.getElementById("cr"); //DOM对象

     var $cr = $( cr );   //jQuery对象
    转换后,可以任意使用jQuery中的方法。

** DOM对象才能使用DOM中的方法,jQuery对象不可以使用DOM中的方法,但jQuery对象提供了一套更加完善的工具用于操作DOM。

 

Eg:

<inputtype="checkbox" id="cr" /><labelfor="cr">我已经阅读了上面制度.</label>
$(function(){

var $cr = $("#cr");

/*var cr= $cr[0];

$cr.click(function(){

           if(cr.checked){

             alert("感谢你的支持!你可以继续操作!");        

           }       

});*/

$cr.click(function(){

   if($cr.is(":checked")){

             alert("感谢你的支持!你可以继续操作!");        

           }       

    });

  });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值