標籤:不同 load 對象 nbsp set 狀態 構造 logs 方便
前面的話
在深入瞭解jQuery的各個細節之前,需要對jQuery的設計思想有一個大致的瞭解。在遇到問題時, 知道應該使用jQuery的哪一個功能,然後迅速從手冊中找到具體的用法。本文將詳細介紹jQuery的設計思想
選擇元素
jQuery的基本設計思想和主要用法,就是"選擇某個網頁元素,然後對其進行某種操作"。這是它區別於其他javascript庫的根本特點
使用jQuery的第一步,往往就是將一個選擇運算式,放進建構函式jQuery()(簡寫為$),然後得到被選中的元素
【類比CSS選擇元素】
$(document) //選擇整個文檔對象$(‘#myId‘) //選擇ID為myId的網頁元素$(‘div.myClass‘) // 選擇class為myClass的div元素$(‘input[name=first]‘) // 選擇name屬性等於first的input元素
【特有運算式選擇】
$(‘a:first‘) //選擇網頁中第一個a元素$(‘tr:odd‘) //選擇表格的奇數行$(‘#myForm :input‘) // 選擇表單中的input元素$(‘div:visible‘) //選擇可見的div元素$(‘div:gt(2)‘) // 選擇所有的div元素,除了前三個$(‘div:animated‘) // 選擇當前處於動畫狀態的div元素
【多種篩選方法】
$(‘div‘).has(‘p‘); // 選擇包含p元素的div元素$(‘div‘).not(‘.myClass‘); //選擇class不等於myClass的div元素$(‘div‘).filter(‘.myClass‘); //選擇class等於myClass的div元素$(‘div‘).first(); //選擇第1個div元素$(‘div‘).eq(5); //選擇第6個div元素
寫法
【方法函數化】
在原生javascript中,賦值操作符用的比較多。而在jQuery中,多使用函數傳參的方式,也就是方法函數化
//原生window.onload = function(){};//jQuery$(function(){});//原生div.onclick = function(){};//jQuerydiv.click(function(){});//原生div.innerHTML = ‘123‘;//jQuerydiv.html(‘123‘);
【鏈式操作】
選中網頁元素以後,可以對它進行一系列操作,並且所有操作可以串連在一起,以鏈條的形式寫出來
$(‘div‘).find(‘h3‘).eq(2).html(‘Hello‘);
分解開來,就是下面這樣:
$(‘div‘) //找到div元素.find(‘h3‘) //選擇其中的h3元素.eq(2) //選擇第3個h3元素.html(‘Hello‘); //將它的內容改為Hello
這是jQuery最令人稱道、最方便的特點。它的原理在於每一步的jQuery操作,返回的都是一個jQuery對象,所以不同操作可以連在一起
jQuery還提供了.end()方法,使得結果集可以後退一步
$(‘div‘).find(‘h3‘).eq(2).html(‘Hello‘).end() //退回到選中所有的h3元素的那一步.eq(0) //選中第一個h3元素.html(‘World‘); //將它的內容改為World
【取賦值合體】
操作網頁元素,最常見的需求是取得它們的值,或者對它們進行賦值。jQuery使用同一個函數來完成取值(getter)和賦值(setter),即"取值器"與"賦值器"合一。到底是取值還是賦值,由函數的參數決定
$(‘h1‘).html(); //html()沒有參數,表示取出h1的值$(‘h1‘).html(‘Hello‘); //html()有參數Hello,表示對h1進行賦值
常見的取值和賦值函數如下
.html() 取出或設定html內容.text() 取出或設定text內容.attr() 取出或設定某個屬性的值.width() 取出或設定某個元素的寬度.height() 取出或設定某個元素的高度.val() 取出某個表單元素的值
需要注意的是,如果結果集包含多個元素,那麼賦值的時候,將對其中所有的元素賦值;取值的時候,則是只取出第一個元素的值
[注意].text()例外,它取出所有元素的text內容
jQuery設計思想