淺談jQuery Mobile設計思想
jQuery Mobile設計思想是本文要介紹的內容,主要是來了解jQuery Mobile的使用方法技巧的學習,具體內容來看本文詳解。
一、選擇網頁元素
jQuery的基本設計思想和主要用法,就是"選擇某個網頁元素,然后對其進行某種操作"。這是它區(qū)別于其他Javascript庫的根本特點。
使用jQuery的第一步,往往就是將一個選擇表達式,放進構造函數jQuery()(簡寫為$),然后得到被選中的元素。
選擇表達式可以是CSS選擇器:
- $(document) //選擇整個文檔對象
- $('#myId') //選擇ID為myId的網頁元素
- $('divmyClass') // 選擇class為myClass的div元素
- $('input[name=first]') // 選擇name屬性等于first的input元素
也可以是jQuery特有的表達式:
- $('a:first') //選擇網頁中第一個a元素
- $('tr:odd') //選擇表格的奇數行
- $('#myForm :input') // 選擇表單中的input元素
- $('div:visible') //選擇可見的div元素
- $('div:gt(2)') // 選擇所有的div元素,除了前三個
- $('div:animated') // 選擇當前處于動畫狀態(tài)的div元素
二、改變結果集
jQuery設計思想之二,就是提供各種強大的過濾器,對結果集進行篩選,縮小選擇結果。
- $('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元素
有時候,我們需要從結果集出發(fā),移動到附近的相關元素,jQuery也提供了在DOM樹上的移動方法:
- $('div')next('p'); //選擇div元素后面的第一個p元素
- $('div')parent(); //選擇div元素的父元素
- $('div')closest('form'); //選擇離div最近的那個form父元素
- $('div')children(); //選擇div的所有子元素
- $('div')siblings(); //選擇div的同級元素
三、鏈式操作
jQuery設計思想之三,就是最終選中網頁元素以后,可以對它進行一系列操作,并且所有操作可以連接在一起,以鏈條的形式寫出來,比如:
- $('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 Mobile設計思想的內容介紹完了,希望通過本文的學習能對你有所幫助!