### jQuery 入门
#### 1.jQuery 简介
+ jQuery 是一个免费、开源的 JavaScript 库,也是目前使用最广泛的 JavaScript 函数库
+ 方便完成页面前端相关操作 : 节点操作、元素操作、事件绑定、AJAX 操作、解决兼容问题
+ jQuery 是一个 JS 文件、一个函数库,在页面 script 标签使用 src 引入这个 js 文件就可以使用
1. CDN 加载 jQuery 库
```
或
或
或
```
2. 本地下载加载 jQuery 库
```
npm install jquery
```
#### 2.jQuery 选择器
+ jQuery 选择器 通过 .css 方法获取 HTML 标签,修改样式
+ 常见选择器
| 描述 | 案例 |
| ------------------ | ------------------------------------------------------------ |
| id 选择器 | `$("#div").css("background", "red").css("width", 100)...;` |
| 类 选择器 | `$(".div").css("background", "red").css("width", 100)...;` |
| 标签选择器 | `$("div").css("background", "red").css("width", 100)...;` |
| 属性选择器 | `$("[name]").css("background", "red").css("width", 100)...;`
`$("[name = 'nice']").css("background", "red").css("width", 100)...;`
`$("[name != 'nice']").css("background", "red").css("width", 100)...;` |
| 后代选择器 | `$("#div p").css("background", "red").css("width", 100)...;` |
| 子 选择器 | `$("#div>p").css("background", "red").css("width", 100)...;` |
| 并列选择器 | `$("#div,.div").css("background", "red").css("width", 100)...;` |
| first last | `$("div:first").css("background", "red").css("width", 100)...;`
`$("div:last").css("background", "red").css("width", 100)...;` |
| eq通过索引获取元素 | `$("div:eq(2)").css("background", "red").css("width", 100)...;` |
#### 3.jQuery 元素操作
##### 3.1 jQuery 通过关系获取元素
| 描述 | 案例 |
| ------------------------ | -------------------------------------- |
| 获取子元素 | `var children = $("#div").children();` |
| 获取上一个兄弟元素 | `var prev = $("#div").prev();` |
| 获取下一个兄弟元素 | `var next = $("#div").next();` |
| 获取同级除了自己所有元素 | `var siblings = $("#div").siblings();` |
| 获取父元素 | `var parent = $("#div").parent();` |
| 获取先祖元素 | `var parents = $("#div").parents();` |
##### 3.2 jQuery 样式操作
1. `.css()` : 取出或设置 CSS 样式
1. CSS 如果只指出属性,没有给出值,可以获取对应属性的值
```
var width = $("#box").css("width")
```
2. CSS 方法如果只指出属性,给值,就修改样式
```
$("#box").css("width", 100)
```
3. CSS 方法也可以修改多个样式
```
$("#box").css({"width": "100px",
"height": "100px",
"background-color": "red",
"border": "1px solid black"
})
```
2. `.addClass()`,`.removeClass()`,`.toggleClass()` : 通过添加和减去class 属性值来修改样式
1. 添加样式
```
$("#box").addClass("div div1");
```
2. 删除样式
```
$("#box").removeClass("div1");
```
3. 如果有效果就移除,如果没有就加上
```
$("#box").toggleClass("div div1");
```
##### 3.3 jQuery 属性操作
1. `.attr()` : 取出或设置某个属性的值
1. 取出属性值
```
$("#box").attr("class");
```
2. 设定属性值
```
$("#box").css("class", "div div1");
```
3. 直接指出多个属性和属性值
```
$("#box").attr({
"class": "div div1",
"nice": "nice work"
})
```
2. `removeattr()` : 删除属性
```
$("#box").removeattr("nice");
```
##### 3.4 文本操作
1. `.html()` : 取出或设置 HTML 元素内容
```
// 获取 HTML 内容
var html = $("#box").html()
// 设置 HTML 内容
$("#box").html(
"