淺談jQuery Mobile設(shè)計(jì)思想
jQuery Mobile設(shè)計(jì)思想是本文要介紹的內(nèi)容,主要是來了解jQuery Mobile的使用方法技巧的學(xué)習(xí),具體內(nèi)容來看本文詳解。
一、選擇網(wǎng)頁元素
jQuery的基本設(shè)計(jì)思想和主要用法,就是"選擇某個(gè)網(wǎng)頁元素,然后對其進(jìn)行某種操作"。這是它區(qū)別于其他Javascript庫的根本特點(diǎn)。
使用jQuery的第一步,往往就是將一個(gè)選擇表達(dá)式,放進(jìn)構(gòu)造函數(shù)jQuery()(簡寫為$),然后得到被選中的元素。
選擇表達(dá)式可以是CSS選擇器:
- $(document) //選擇整個(gè)文檔對象
- $('#myId') //選擇ID為myId的網(wǎng)頁元素
- $('divmyClass') // 選擇class為myClass的div元素
- $('input[name=first]') // 選擇name屬性等于first的input元素
也可以是jQuery特有的表達(dá)式:
- $('a:first') //選擇網(wǎng)頁中第一個(gè)a元素
- $('tr:odd') //選擇表格的奇數(shù)行
- $('#myForm :input') // 選擇表單中的input元素
- $('div:visible') //選擇可見的div元素
- $('div:gt(2)') // 選擇所有的div元素,除了前三個(gè)
- $('div:animated') // 選擇當(dāng)前處于動(dòng)畫狀態(tài)的div元素
二、改變結(jié)果集
jQuery設(shè)計(jì)思想之二,就是提供各種強(qiáng)大的過濾器,對結(jié)果集進(jìn)行篩選,縮小選擇結(jié)果。
- $('div')has('p'); // 選擇包含p元素的div元素
- $('div')not('myClass'); //選擇class不等于myClass的div元素
- $('div')filter('myClass'); //選擇class等于myClass的div元素
- $('div')first(); //選擇第1個(gè)div元素
- $('div')eq(5); //選擇第6個(gè)div元素
有時(shí)候,我們需要從結(jié)果集出發(fā),移動(dòng)到附近的相關(guān)元素,jQuery也提供了在DOM樹上的移動(dòng)方法:
- $('div')next('p'); //選擇div元素后面的第一個(gè)p元素
- $('div')parent(); //選擇div元素的父元素
- $('div')closest('form'); //選擇離div最近的那個(gè)form父元素
- $('div')children(); //選擇div的所有子元素
- $('div')siblings(); //選擇div的同級(jí)元素
三、鏈?zhǔn)讲僮?/strong>
jQuery設(shè)計(jì)思想之三,就是最終選中網(wǎng)頁元素以后,可以對它進(jìn)行一系列操作,并且所有操作可以連接在一起,以鏈條的形式寫出來,比如:
- $('div')find('h3')eq(2)html('Hello');
分解開來,就是下面這樣:
- $('div') //找到div元素
- find('h3') //選擇其中的h3元素
- eq(2) //選擇第3個(gè)h3元素
- html('Hello'); //將它的內(nèi)容改為Hello
這是jQuery最令人稱道、最方便的特點(diǎn)。它的原理在于每一步的jQuery操作,返回的都是一個(gè)jQuery對象,所以不同操作可以連在一起。
jQuery還提供了end()方法,使得結(jié)果集可以后退一步:
- $('div')
- find('h3')
- eq(2)
- html('Hello')
- end() //退回到選中所有的h3元素的那一步
- eq(0) //選中第一個(gè)h3元素
- html('World'); //將它的內(nèi)容改為World
四、元素的操作:取值和賦值
操作網(wǎng)頁元素,最常見的需求是取得它們的值,或者對它們進(jìn)行賦值。
jQuery設(shè)計(jì)思想之四,就是使用同一個(gè)函數(shù),來完成取值(getter)和賦值(setter),即"取值器"與"賦值器"合一。到底是取值還是賦值,由函數(shù)的參數(shù)決定。
- $('h1')html(); //html()沒有參數(shù),表示取出h1的值
- $('h1')html('Hello'); //html()有參數(shù)Hello,表示對h1進(jìn)行賦值
常見的取值和賦值函數(shù)如下:
- html() 取出或設(shè)置html內(nèi)容
- text() 取出或設(shè)置text內(nèi)容
- attr() 取出或設(shè)置某個(gè)屬性的值
- width() 取出或設(shè)置某個(gè)元素的寬度
- height() 取出或設(shè)置某個(gè)元素的高度
- val() 取出某個(gè)表單元素的值
需要注意的是,如果結(jié)果集包含多個(gè)元素,那么賦值的時(shí)候,將對其中所有的元素賦值;取值的時(shí)候,則是只取出第一個(gè)元素的值(text()例外,它取出所有元素的text內(nèi)容)。
小結(jié):關(guān)于淺談jQuery Mobile設(shè)計(jì)思想的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!