<html xmlns="
<head>
<title>1-4</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk-88591" />
<!-- 引入 jQuery -->
<script src="jquery-1.3.1.js" type="text/javascript"></script>
<script type="text/javascript">
//等待dom元素加載完畢.
$(document).ready(function(){
var domObj = document.getElementsByTagName("h3")[0]; // Dom對象
var $jQueryObj = $(domObj); //jQuery對象
alert("DOM對象:"+domObj.innerHTML);
alert("jQuery對象:"+$jQueryObj.html());
});
</script>
</head>
<body>
<h3>例子</h3>
<p title="等待dom元素加載完畢" >等待dom元素加載完畢?</p>
<ul>
<li>蘋果</li>
<li>橘子</li>
<li>菠蘿</li>
</ul>
</body>
</html>
jQuery對象和DOM對象使用說明,需要的朋友可以參考下。
1.jQuery對象和DOM對象
第一次學(xué)習(xí)jQuery,經(jīng)常分辨不清哪些是jQuery對象,哪些是 DOM對象,因此需要重點(diǎn)了解jQuery對象和DOM對象以及它們之間的關(guān)系.
DOM對象,即是我們用傳統(tǒng)的方法(javascript)獲得的對象,jQuery對象即是用jQuery類庫的選擇器獲得的對象;
復(fù)制代碼 代碼如下:
var domObj = document.getElementById("id"); //DOM對象
var $obj = $("#id"); //jQuery對象;
jQuery對象就是通過jQuery包裝DOM對象后產(chǎn)生的對象,它是jQuery獨(dú)有的。如果一個對象是jQuery對象,那么就可以使用jQuery里的方法,例:
$("#foo").html(); //獲取id為foo的元素內(nèi)的html代碼,html()是jQuery特有的方法;
上面的那段代碼等同于:
document.getElementById("foo").innerHTML;
注意:在jQuery對象中無法使用DOM對象的任何方法。
例如$("#id").innerHTML 和$("#id").checked之類的寫法都是錯誤的,可以用$("#id").html()和$("#id").attr ("checked")之類的 jQuery方法來代替。同樣,DOM對象也不能使用jQuery方法。學(xué)習(xí)jQuery開始就應(yīng)當(dāng)樹立正確的觀念,分清jQuery對象和DOM對象之間的區(qū)別,之后學(xué)習(xí) jQuery就會輕松很多的。
2.jQuery對象和DOM對象的互相轉(zhuǎn)換
在上面第一點(diǎn)說了,jquery對象和dom對象是不一樣的!比如jquery對象不能使用dom的方法,dom對象不能使用jquery方法,那假如我 jquery沒有封裝我要的方法,那能怎么辦呢?
這時我們可以將jquer對象轉(zhuǎn)換成dom對象
jquery對象轉(zhuǎn)換成 dom對象
jquery提供了兩種方法將一個jquery對象轉(zhuǎn)換成一個dom對象,即[index]和get(index)。可能有人會覺得奇怪,怎么是用下標(biāo)呢,沒錯,jquery對象就是一個數(shù)組對象.
下面代碼將演示一個jquery對象轉(zhuǎn)換成dom對象,再使用dom對象的方法
復(fù)制代碼 代碼如下:
var $cr=$("#cr"); //jquery對象
var cr = $cr[0]; //dom對象 也可寫成 var cr=$cr.get(0);
alert(cr.checked); //檢測這個checkbox是否給選中
dom對象轉(zhuǎn)換成jquery對象
對于一個dom對象,只需要用$()把dom對象包裝起來,就可以獲得一個jquery對象了,方法為$(dom對象);
復(fù)制代碼 代碼如下:
var cr=document.getElementById("cr"); //dom對象
var $cr = $(cr); //轉(zhuǎn)換成jquery對象
轉(zhuǎn)換后可以任意使用jquery中的方法了.
通過以上的方法,可以任意的相互轉(zhuǎn)換jquery對象和dom對象.
最后再次強(qiáng)調(diào),dom對象才能使用dom中的方法,jquery對象不可以使用dom中的方法,但 jquery對象提供了一套更加完善的工具用于操作dom,關(guān)于jquery的dom操作將在后面的文章進(jìn)行詳細(xì)講解.
ps: 平時用到的jquery對象都是通過$()函數(shù)制造出來的,$()函數(shù)就是一個jquery對象的制造工廠.
建議:如果獲取的對象是 jquery對象,那么在變量前面加上$,這樣方便容易識別出哪些是jquery對象,例如:
var $variable = jquery對象;
如果獲取的是dom對象,則定義如下:
var variable = dom對象