一个“$”符引发的学案:
var $link_type = $('#link_type');
var type_val = $link_type.val();
一问:为什么有的js变量前面加 $ 符而有的不加?什么时候加什么时候不加呢?
答:看个人心情,你爱加不加。真实的说法是加 $ 符的是jQuery对象;非要问为什么的话,大概就是约定成俗。
二问:什么是jQuery对象呢?
答:jQuery对象就是用jQuery的类库选择器获得的对象。JQuery对象是通过jQuery包装DOM对象后产生的对象。
(var $obj =$("#id"); // jQuery对象;)
三问:DOM对象又是什么鬼?
答:DOM对象是我们用传统的方法(javascript)获得的对象。
(var domObj =document.getElementById("id"); // DOM对象)
四问:他俩到底什么区别?又有什么联系?
答:JQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;DOM对象就是javascript固有的一些对象。DOM对象能使用javascript固有的方法,但是不能使用jQuery里面的方法。
jQuery对象和DOM对象的相互转换
jQuery对象转换成DOM对象
jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。可能有人会觉得奇怪,怎么是用下标呢,没错,jquery对象就是一个数组对象.
下面代码将演示一个jquery对象转换成dom对象,再使用dom对象的方法
代码如下:
var $cbox = $("#cbox"); //jquery对象
var cbox = $cbox[0]; //dom对象 也可写成 var cbox = $cbox.get(0);
alert(cbox.checked); //检测这个checkbox是否给选中
dom对象转换成jquery对象
对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);
代码如下:
var cbox = document.getElementById("cbox"); //dom对象
var $cbox = $(cbox); //转换成jquery对象
转换后可以任意使用jquery中的方法了.