jquery 選擇器(name,屬性,元素)大全
jQuery 選擇器大體上可分為:基本選擇器、層次選擇器、過濾選擇器、表單選擇器。 其中過濾選擇器可以分為:簡單過濾選擇器、內容過濾選擇器、可見性過濾選擇器、屬性過濾選擇器、子元素過濾選擇器、表單對象屬性過濾選擇器。選擇器是jQuery最基礎的東西,下面向大家介紹jquery+%D1%A1%D4%F1%C6%F7/" target="_blank">jquery 選擇器的用法
選擇器是jQuery的核心組成部分,因為使用jQuery操作DOM時所做的每件事都和選擇器密切相關——總得先選取元素才可進行下一步。jQuery使用常見的CSS選擇器和XPATH選擇器,它們為絕大多數Web設計師和開發者所熟悉。除此之外,還有一些jQuery自定義的選擇器。 正是這些選擇器使得jQuery分外靈活,易于學習。理解選擇器如何工作,才能為充分利用jQuery的強大功能打好堅實基礎。 在那些CSS選擇器力不從心的場合,過濾器可以讓你更靈活地根據DOM特性選取元素。人們常常結合使用過濾器和選擇器,以便在基于某一標準選擇特定元素時進行深度控制,比如需要根據元素在一組元素中的位置,或元素的可見性,或表單元素的某些屬性(如選中/未選中或是否被禁用)選取元素時。jQuery提供了一系列為Dom元素添加、刪除CSS類或直接設定樣式的方法。
基本選擇器
1. id選擇器(指定id元素)
將id="one"的元素背景色設置為黑色。(id選擇器返單個元素)
$(document).ready(function () {
$('#one').css('background', '#000');
});2. class選擇器(遍歷css類元素)
將class="cube"的元素背景色設為黑色
$(document).ready(function () {
$('.cube').css('background', '#000');
});3. element選擇器(遍歷html元素)
將p元素的文字大小設置為12px
$(document).ready(function () {
$('p').css('font-size', '12px');
});4. * 選擇器(遍歷所有元素)
$(document).ready(function () {
// 遍歷form下的所有元素,將字體顏色設置為紅色
$('form *').css('color', '#FF0000');
});5. 并列選擇器
$(document).ready(function () {
// 將p元素和div元素的margin設為0
$('p, div').css('margin', '0');
});
層疊選擇器:
$("form input") 選擇所有的form元素中的input元素
$("#main > *") 選擇id值為main的所有的子元素
$("label + input") 選擇所有的label元素的下一個input元素節點,經測試選擇器返回的是label標簽后面直接跟一個input標簽的所有input標簽元素
$("#prev ~ div") 同胞選擇器,該選擇器返回的為id為prev的標簽元素的所有的屬于同一個父元素的div標簽
過濾選擇器
基本過濾選擇器:
$("tr:first") 選擇所有tr元素的第一個
$("tr:last") 選擇所有tr元素的最后一個
$("input:not(:checked) + span") 過濾掉:checked的選擇器的所有的input元素
$("tr:even") 選擇所有的tr元素的第0,2,4... ...個元素(注意:因為所選擇的多個元素時為數組,所以序號是從0開始)
$("tr:odd") 選擇所有的tr元素的第1,3,5... ...個元素
$("td:eq(2)") 選擇所有的td元素中序號為2的那個td元素
$("td:gt(4)") 選擇td元素中序號大于4的所有td元素
$("td:ll(4)") 選擇td元素中序號小于4的所有的td元素
內容過濾選擇器:
$("div:contains('John')") 選擇所有div中含有John文本的元素
$("td:empty") 選擇所有的為空(也不包括文本節點)的td元素的數組
$("div:has(p)") 選擇所有含有p標簽的div元素
$("td:parent") 選擇所有的以td為父節點的元素數組
可視化過濾選擇器:
$("div:hidden") 選擇所有的被hidden的div元素
$("div:visible") 選擇所有的可視化的div元素
屬性過濾選擇器:
$("div[id]") 選擇所有含有id屬性的div元素
$("input[name='newsletter']") 選擇所有的name屬性等于'newsletter'的input元素
$("input[name!='newsletter']") 選擇所有的name屬性不等于'newsletter'的input元素
$("input[name^='news']") 選擇所有的name屬性以'news'開頭的input元素
$("input[name$='news']") 選擇所有的name屬性以'news'結尾的input元素
$("input[name*='man']") 選擇所有的name屬性包含'news'的input元素
$("input[id][name$='man']") 可以使用多個屬性進行聯合選擇,該選擇器是得到所有的含有id屬性并且那么屬性以man結尾的元素
子元素過濾選擇器:
$("div span:first-child") 返回所有的div元素的第一個子節點的數組
$("div span:last-child") 返回所有的div元素的最后一個節點的數組
$("div button:only-child") 返回所有的div中只有唯一一個子節點的所有子節點的數組
表單元素選擇器:
$(":input") 選擇所有的表單輸入元素,包括input, textarea, select 和 button
$(":text") 選擇所有的text input元素
$(":password") 選擇所有的password input元素
$(":radio") 選擇所有的radio input元素
$(":checkbox") 選擇所有的checkbox input元素
$(":submit") 選擇所有的submit input元素
$(":image") 選擇所有的image input元素
$(":reset") 選擇所有的reset input元素
$(":button") 選擇所有的button input元素
$(":file") 選擇所有的file input元素
$(":hidden") 選擇所有類型為hidden的input元素或表單的隱藏域
表單元素過濾選擇器:
$(":enabled") 選擇所有的可操作的表單元素
$(":disabled") 選擇所有的不可操作的表單元素
$(":checked") 選擇所有的被checked的表單元素
$("select option:selected") 選擇所有的select 的子元素中被selected的元素
下面拿張表給大家參考
| 選擇器 | 描述 | 返回 | 示例 |
| 基本選擇器 | |||
| #id | 根據給定的id匹配一個元素 | 單個元素 | $("#test")選取id為test的元素 |
| .class | 根據給定的類名匹配元素 | 集合元素 | $(".test")選取class為test的元素 |
| element | 根據給定的元素名匹配元素 | 集合元素 | $("p")選取所有的p元素 |
| * | 匹配所有元素 | 集合元素 | $("*")選取所有元素 |
| selector1,selector2,.....,selectorN | 將每一個選擇器匹配到的元素合并后一起返回 | 集合元素 | $("div,span,p.myClass")選取所有div,span和擁有class為myClass的p標簽的一組元素 |
| 層次選擇器 | |||
| $("ancestor descendant") | 選取ancestor元素里的所有descendant(后代)元素 | 集合元素 | $("div span")選取所有div里的所有的span元素 |
| $("parent > child") | 選取parent元素下的child(子)元素,與$("ancestor descendant")有區別,$("ancestor descendant")選擇的是后代元素 | 集合元素 | $("div>span")選取div元素下的名是span的子元素 |
| $("prev + next") | 選取緊接在prev元素后的next元素 | 集合元素 | $(".one+div")選取class為one的下一個div元素 |
| $("prev~siblings") | 選取prev元素之后的所有siblings元素 | 集合元素 | $("#two~div")選取id為two的元素后面的所有div兄弟元素 |
| 基本過濾選擇器 | |||
| :first | 選取第一個元素 | 單個元素 | $("div:first")選取所有div元素中的第一個div元素 |
| :last | 選取最后一個元素 | 單個元素 | $("div:last")選取所有div元素中的最后一個div元素 |
| :not(selector) | 去除所有與給定選擇器匹配的元素 | 集合元素 | $("input:not(.myclass)")選取class不是myclass的元素 |
| :even | 選取索引是偶數的所有元素,索引是從0開始 | 集合元素 | $("input:event")選取索引是偶數的input元素 |
| :odd | 選取索引是奇數的所有元素,索引是從0開始 | 集合元素 | $("input:odd")選取索引是奇數的input元素 |
| :eq(index) | 選取索引等于index的元素(index從0開始) | 集合元素 | $("input:eq(1)")選取索引等于1的input元素 |
| :gt(index) | 選取索引大于index的元素(index從0開始) | 集合元素 | $("input:gt(1)")選取索引大于1的input元素(注:大于1,而不包括1) |
| :lt(index) | 選取索引小于index的元素(index從0開始) | 集合元素 | $("input:lt(1)")選取索引大于1的input元素(注:小于1,而不包括1) |
| :header | 選取所有的標題元素,例如h1,h2,h3等 | 集合元素 | $(":header")選取網頁中所有的h1,h2,h3... |
| :animated | 選取當前正在執行動畫的所有元素 | 集合元素 | $("div:animted")選取正在執行動畫的div元素 |
| 內容過濾選擇器 | |||
| :contains(text) | 選取文本內容為"text"的元素 | 集合元素 | $("div:contains('我')")選取含有文本"我"的div元素 |
| :empty | 選取不包含子元素或者文本的空元素 | 集合元素 | $(div:empty)選取不包含資源(包括文本元素)的div空元素 |
| :has(selector) | 選取含有選擇器所匹配的元素的元素 | 集合元素 | $("div:has(p)")選取含有p元素的div元素 |
| :parent | 選取含有子元素或者文本的元素 | 集合元素 | $("div:parent")選取擁有子元素(包括文本元素)的div元素 |
| 可見性過濾選擇器 | |||
| :hidden | 選取所有不可見的元素 | 集合元素 | $(":hidden")選取所有不可見的元素。包括《input type="hidden"/》,《div style="display:none"》和《div style="visibility:hidden"》等元素。如果只想選取《input》元素,可以使用$("input:hidden") |
| :visible | 選取所有可見的元素 | 集合元素 | $("div:visible")選取所有可見的div元素 |
| 屬性過濾選擇器 | |||
| [attribute] | 選取擁有此屬性的元素 | 集合元素 | $("div[id]")選取擁有屬性id的元素 |
| [attribute=value] | 選取屬性的值為value的元素 | 集合元素 | $("div[title=test]")選取屬性title為test的div元素 |
| [attribute!=value] | 選取屬性的值不等于value的元素 | 集合元素 | $("div[title!=test]")選取屬性title不等于"test"的divy元素(注意:沒有屬性title的div元素也會被選取) |
| [attribute^=value] | 選取屬性的值以value開始的元素 | 集合元素 | $("div[title^=test]")選取屬性title以"test"開始的div元素 |
| [attribute$=value] | 選取屬性的值以value結束的元素 | 集合元素 | $("div[title$=test]")選取屬性title以"test"結束的div元素 |
| [attribute*=value] | 選取屬性的值含有value的元素 | 集合元素 | $("div[titel*=test]")選取屬性title含有'test'的div元素 |
| [selector1][selector2][selectorN] | 用屬性選擇器合并成一個復合屬性選擇器,滿足多個條件。每選擇一次,縮小一次范圍。 | 集合元素 | $("div[id][title$='test']")選取擁有屬性id,并且屬性title以"test"結束的div元素 |
| 子元素過濾選擇器 | |||
| :nth-child(index/event/odd/equation) | 選取每個父元素下的第index個子元素或者奇偶元素.(index從1算起) | 集合元素 | :eq(index)只匹配一個元素,而:nth-child將為每一個父元素匹配元素,并且:nth-child(index)的index是從1開始的,而:eq(index)是從0算起的 |
| :frist-child | 選取每個父元素的第一個子元素 | 集合元素 | :first只返回單個元素,而:first-child選擇符將為每個父元素匹配第一個子元素。例如$("ul li:first-child");選取每個ul中的第一個li元素 |
| :last-child | 選取每個父元素的最后一個子元素 | 集合元素 | 同樣,:last只返回單個元素,而:last-child選擇符將為每個父元素匹配最后一個子元素。例如$("ul li:last-child");選擇每個ul中的最后一個li元素 |
| :only-child | 如果某個元素是它父元素中唯一的子元素,那么將會被匹配。如果父元素中含有其他元素,則不會被匹配 | 集合元素 | $(ul li:only-child)在ul中選取是唯一子元素的li元素 |
| 表單對象屬性過濾選擇器 | |||
| :enabled | 選取所有可用元素 | 集合元素 | $("#form1 :enabled")選取id為"form1"的表單內的所有可用元素 |
| :disabled | 選取所有不可用元素 | 集合元素 | $("#form2:disabled")選取id為"form2"的表單內的所有不可用元素 |
| :checked | 選取所有被選中的元素(單選框,復選框) | 集合元素 | $("input :checked")選取所有被選中的input元素 |
| :selected | 選取所有被選中的選項元素(下拉列表) | 集合元素 | $("select:selected");選取所有被選中的選項元素 |
| 表單對象屬性過濾選擇器 | |||
| 集合元素 | 集合元素 | 集合元素 | 集合元素a |
插入節點的方法
| 方法 | 描述 | 示例 |
| append() | 向每個匹配的元素內部追加內容 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("p").append("《b》你好《/b》"); 結果: 《p》我想說:《b》你好《/b》《/p》 |
| appendTo() | 將所有匹配的元素追到到指定的元素中。實際上,使用該方法是顛倒了常規$(A).append(B)的操作,既不是將B追到到A中,而是將A追加到B中 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $(《b》你好《/b》).appendTo("p"); 結果: 《p》我想說:《b》你好《/b》《/p》 |
| prepend() | 像每個匹配的元素內部前置內容 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("p").prepend("《b》你好《/b》"); 結果: 《p》《b》你好《/b》我想說:《/p》 |
| prependTo() | 將所有匹配的元素前置到指定的元素中。實際上,使用該方法是顛倒了常規的$(A).prepend(B)的操作,既不是將B前置到A中,而是將A前置到B中 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("《b》你好《/b》").prependTo("P"); 結果: 《p》《b》你好《/b》我想說:《/p》 |
| after | 在每個匹配的元素之后插入內容 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("p").after("《b》你好《/b》"); 結果: 《p》我想說:《/p》《b》你好《/b》 |
| insertAfter() | 將所有匹配的元素插入到指定元素的后面。實際上使用該方法是顛倒了常規的$(A).after(B)的操作,既不是將B插入到A后面,而是將A插入到B后面 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("《b》你好《/b》").insertAfter("p"); 結果: 《p》我想說:《/p》《b》你好《/b》 |
| before() | 在每個匹配的元素之前插入內容 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("p").before("《b》你好《/b》"); 結果: 《b》你好《/b》《p》我想說:《/p》 |
| insertBefore() | 將所有匹配的元素插入到指定的元素的前面。實際上,使用該方法是顛倒了常規的$(A).before(B)的操作,既不是將B插入到A前面,而是將A插入到B前面 | HTML代碼: 《p》我想說《/p》 jQuery代碼: $("《b》你好《/b》").insertBefore("p"); 結果: 《b》你好《/b》《p》我想說:《/p》 |
load()方法參數解釋
| 參數名稱 | 類型 | 說明 |
| url | String | 請求HTML頁面的URL地址 |
| data(可選) | Object | 發送至服務器的key/value數據 |
| callback(可選) | Function | 請求完成時的回調函數,無論請求成功或者失敗 |
$.get()方法參數解釋
| 參數名稱 | 類型 | 說明 |
| url | String | 請求的HTML頁的URL地址 |
| data(可選) | Object | 發送至服務器的key/value數據會作為QueryString附加到請求URL中 |
| callback(可選) | Function | 載入成功時回調函數(只有當Response的返回狀態是success才調用該方法)自動將請求結果和狀態傳遞給該方法 |
| type(可選) | String | 服務器返回內容的格式,包括xml.html.script.json.text和_default |
浙公網安備 33010602011771號