當用$符號包裹一個CSS風格選擇器的時候,你得到一個jQuery對象。
var heading = $('h1');jQuery對象是對DOM ELement封裝過后的數組。注意,無論選擇器匹配了多個或者零個元素,jQuery對象都不再是false。意味著你只能夠用jQuery對象的.length屬性來判斷選擇器是否選中了元素。
if ($('h1')) {	//do something}如果我想要得到頁面中第一個匹配的元素呢?
var headings = $('h1');var firstHeading = headings.eq(0);.eq(0)返回第一個匹配元素的jQuery對象。如果你想要原生的DOM對象,你可以
var headings = $('h1');firstHeadingElem = headings.get(0);或者
var firstHeadingElem = $('h1')[0];鑒于jQuery對象和DOM對象是有區別的,所以在命名的時候最好是區分好兩者,可以使用$符號前綴來表示jQuery對象:
var elem = document.getElementById('exmaple');var $elem = $('#example');另外需要記住的是,由于每次調用$()的時候,都會在內存中生成新的獨立的jQuery對象,所以,「Not all jQuery Objects created equally.」
var $heading1 = $('h1');var $heading2 = $('h1');alert($heading1 === $heading2);  //false即使兩個jQuery對象的內容是相同的,也不意味這他們是同一個對象(物理地址不一樣)。
但是,可以獲取到他們都包含著的相同的DOM對象:
var $logo1 = $('#logo');var logoElem1 = $logo1.get(0);var $logo2 = $('#logo');var logoElem2 = $logo2.get(0);alert(logoElem1 === logoElem2);   //true最后,jQuery對象不是「活」的。jQuery對象生成的時候,它成為了一個封裝過的選擇器匹配結果的「快照」。也就是說,在jQuery對象生成后,對相關元素做出了改變不會反映到jQuery對象上。
var $p = $('p');在$p聲明之后,對頁面p元素的作出任何修改(remove、update)都不會影響到$p這個jQuery對象。如果想要更新這個jQuery呢?可以重新生成一個:
$p = $('p');新聞熱點
疑難解答