新聞中心
本文基于jQuery1.7.1版本,是對官方API的整理和總結,完整的官方API見http://api.jquery.com/browser/

下陸網站制作公司哪家好,找成都創(chuàng)新互聯公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、自適應網站建設等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯公司從2013年創(chuàng)立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(chuàng)新互聯公司。
0、總述
jQuery框架提供了很多方法,但大致上可以分為3大類:獲取jQuery對象的方法、在jQuery對象間跳轉的方法,以及獲取jQuery對象后調用的方法
其中第一步是怎樣獲取jQuery對象。大致來說,是通過最核心的$()方法,將頁面上的元素(或者在頁面上不存在的html片段)包裝成jQuery對象。
$()方法里面支持的語法又包括3大類,分別是表達式(包括類表達式.,id表達式#,元素表達式等)、符號(包括后代符號space,next符號+等)、過濾器(包括:過濾器和[]過濾器)。
通過以上3種的組合,“查詢”得到想要操作的元素或者元素集合,作為$()的參數,得到jQuery對象(或者jQuery對象的集合)
第二步是在jQuery對象間的跳轉。也就是說,已經得到了一個jQuery對象,但是并不是想要的,那么可以通過一系列的跳轉方法,比如parent()、next()、children()、find()等,或者過濾篩選的方法,比如eq()、filter()、not()等,來得到最終想要操作的jQuery對象。
用跳轉和過濾方式得到的jQuery結果,往往通過比較復雜的表達式組合,可以達到同樣的目的。
比如說$("div").eq(3),也可以用$("div:eq(3)")達到同樣的目的。
又比如說$("div").find("span"),可以用$("div span")取到同樣的元素。
方法是很靈活的,要根據具體的情況來選擇。一般來說,HTML頁面寫得越規(guī)范,使用jQuery就越簡單
還有一種情況,在得到了jQuery()對象之后,想要判斷其是否滿足條件,那么可以調用is()、hasClass()等方法,返回一個boolean值,進行后續(xù)的判斷。這類方法也可以歸到這類。
第三步是在獲取準確的jQuery對象之后,調用其上的各種方法,來進行操作。這一步反而是比較簡單的了。
后面就是對jQuery框架各種方法的簡要介紹,更詳細的內容,還是以官方API為準
1、$(...)
$() 一切的核心,可以跟4種參數
$(expression),比如$("#id")、$(".class")等,返回jQuery對象,或者jQuery對象的集合
$(html),比如$("hello world"),返回jQuery對象,或者jQuery對象的集合
$(element),比如$(document.body),返回jQuery對象,或者jQuery對象的集合
$(*),所有元素
2、jQuery Object Accessors
jQuery.index(element),返回該jQuery對象在集合中的索引
jQuery.each(function),遍歷jQuery對象集合,在每個對象上執(zhí)行function函數,function callback(index, domElement){this};
jQuery.size(),返回jQuery對象集合的大小
jQuery.length,相當于size()方法
jQuery.get(),獲取原生DomElement對象的Array
jQuery.get(index),獲取原生DomElement對象
jQuery.eq(position),獲取jQuery對象集合中的一個jQuery對象
3、Data相關方法
jQuery.data(name)
jQuery.data(name, value)
jQuery.removeData(name)
4、選擇符
multiple(selector1, selector2),可以選擇多個元素或者表達式,包裝成jQuery對象的集合
例子:$("div,span")
id(id)
例子:$("#id")
class(class)
例子:$(".class")
element(element)
例子:$("div")
all
例子:$("*")
descendant
例子:$("table tr td")
child(parent, child)
例子:$("#id > span"),和上一個descendant的區(qū)別在于,descendant只要是后代就會被選中,而child必須是直接子節(jié)點,不包括孫子節(jié)點
next(prev, next)
例子:$("label + input"),選中的是label標簽的下一個input標簽,返回jQuery對象的集合
siblings(prev, siblings)
例子:$("#prev ~ div"),選中的是#prev之后的所有div標簽,返回jQuery對象的集合,有點像next,但是范圍更大
Basic Filters
$(":header"),選中所有header,包括
等
$("tr:odd"),選中所有奇數行
$("tr:even"),選中所有偶數行
$(":animated"),選中所有當前有特效的元素,$("div:animated"),選中當前所有有特效的
$("tr:first"),選中第一行
$("tr:last"),選中最后一行
$("input:not(:checked)"),選中所有沒有“checked”的input元素
$("td:gt(4)"),選中所有index是4之后的td
$("td:lt(4)"),選中所有index是4之前的td
$("td:eq(4)"),選中index是4的td,可以用$("td").eq(4)來實現同樣的效果
Content Filters
$("div:contains('John')"),選中所有包含"John"字符串的div
$("td:empty"),選中所有內容為空的td
$("div:has(p)"),選中包含有
元素的
$("td:parent"),選中所有包含子節(jié)點的元素,包括文本也可以算是子節(jié)點
Visibility Filters
$("span:hidden"),選中所有隱藏的
$("span:visible"),選中所有可見的
Attribute Filters
$("div[id]"),選中包含id屬性的
$("input[name$='letter']"),選中包含某個屬性的元素,這個屬性名是以'letter'結尾的
$("input[name^='letter']"),選中包含某個屬性的元素,這個屬性名是以'letter'開頭的
$("input[name*='man']"),選中包含某個屬性的元素,這個屬性的屬性名里包含'man'
$("input[name='newsletter']"),選中包含一個屬性的元素,這個屬性的名字是'newsletter'
$("input[name!='newsletter']"),選中所有不包含'newsletter'屬性的元素
$("input[id][name$='man']"),選中包含id屬性,和以'man'結尾屬性的元素
Child Filters
$("ul li:nth-child(2)"),選中自身是
- 元素的第二個子節(jié)點的
- 元素,注意這個計算是從1開始的,不是從0開始
$("div span:firstChild"),選中自身是
元素的第一個子節(jié)點的元素$("div span:lastChild"),選中自身是
元素的最后一個子節(jié)點的元素$("div span:onlyChild"),選中自身是
元素的唯一子節(jié)點的元素Forms
$(":button"),所有
$("form :checkbox"),選中所有


咨詢
建站咨詢
