> 選擇器用來獲取文檔上的 DOM 對象的元素,然后把它轉成 jquery 對象,最重要的就是操縱 dom 元素,獲取值、設置值、形成一些動態的效果都需要使用選擇器。
> 選擇器是 jQuery 的根基, 在 jQuery 中, 對事件處理, 遍歷 DOM 和 Ajax 操作都依賴于選擇器。
jQuery 選擇器的優點:
簡潔的寫法:
`$(“#id”)` 等價于 `document.getElementById("id");`
`$(“tagName”)` 等價于 `document.getElementsByTagName("tagName");`
<br/>
**1.基本選擇器:**
基本選擇器是 jQuery 中最常用的選擇器, 也是最簡單的選擇器, 它通過元素 id, class 和標簽名來查找DOM 元素。

<br/>
**2.層次選擇器**
如果想通過 DOM 元素之間的層次關系來獲取特定元素, 例如后代元素, 子元素, 相鄰元素, 兄弟元素

<br/>
**3.基本過濾選擇器**

<br/>
**4.屬性過濾選擇器**
? 屬性過濾選擇器的過濾規則是通過元素的屬性來獲取相應的元素。
- 用法: $(”div[id]“) ; 返回值 集合元素
>[info] 說明: 匹配包含給定屬性的元素. 例子中是選取了所有帶”id”屬性的 div 標簽.
- [attribute=value]
- 用法: $(”input[name='newsletter']“).attr(”checked”, true); 返回值 集合元素
>[info] 說明: 匹配給定的屬性是某個特定值的元素.例子中選取了所有 name 屬性是 newsletter 的 input 元素
- [attribute!=value]
- 用法: $(”input[name!='newsletter']“).attr(”checked”, true); 返回值 集合元素
>[info] 說明: 匹配所有不含有指定的屬性,或者屬性不等于特定值的元素.此選擇器等價于`:not([attr=value])`,要匹配含有特定屬性但不等于特定值的元素,請使用`[attr]:not([attr=value])`.之前看到的 :not 派上了用場
- [attribute^=value]
- 用法: $(”input[name^=‘news’]“) 返回值 集合元素
>[info] 說明: 匹配給定的屬性是以某些值開始的元素
- [attribute$=value]
- 用法: $(”input[name$=‘letter’]“) 返回值 集合元素
>[info] 說明: 匹配給定的屬性是以某些值結尾的元素
- [attribute*=value]
- 用法: $(”input[name*=‘man’]“) 返回值 集合元素
>[info] 說明: 匹配給定的屬性是以包含某些值的元素
- \[attributeFilter1]\[attributeFilter2][attributeFilterN]
- 用法: $(”input\[id][name$=‘man’]“) 返回值 集合元素
>[info] 說明: 復合屬性選擇器,需要同時滿足多個條件時使用.又是一個組合,這種情況我們實際使用的時候很常用.這個例子中選擇的是所有含有 id 屬性,并且它的 name 屬性是以 man 結尾的元素
<br/>
**5.子元素過濾選擇器**
```
$("div.one :nth-child(2)") //選擇class為one的div的第二個子元素
$("div.one :first-child") //選擇class為one的div的第一個子元素
$("div.one :last-child") //選擇class為one的div的最后一個子元素
$("div.one :only-child") //選擇class為one的div的唯一子元素
```
內容選擇器
```
$("div:contains('di')") //選擇內容包含‘di’的div
$("div:empty") //選擇不包含文本的空div
$("div:has(div.mini)") //選擇含有class叫div的div元素
```
<br/>
**6.查找選擇器**

**nextAll(expression)**
```
//查找當前元素之后所有的同輩元素。
$("#one").nextAll("span:first") //查找id為one元素后面第一個span元素
```
**preAll(expression)**
```
//查找當前元素之前所有的同輩元素
$("#two").prevAll("div") //查找id為two元素前面所有div元素
```