1  | 作者: 夜泊1990  | 
第一章 前端概述
第1节 前端介绍
1  | 1. 前端即网站的前台部分,用于网站的数据展示以及数据交互(人机交互的一部分),是人与机器交流的操作界面.  | 
第2节 前端结构
1  | 举例: 通过浏览器输入百度地址 www.baidu.com 百度的前端首页就会从百度的服务器通过互联网加载到电脑的浏览器中,并且显示出来  | 
第3节 前端基础技术介绍
1  | 网页技术的组成: 前端页面展示包含了内容,样式以及动态效果分别对应这不同的前端技术实现.  | 
第二章 HTML
第1节 HTML介绍
1  | HTML(HyperText Markup Language)超文本标记语言,是构成前端网页的基本单元.他包含两层意思:  | 
第2节 HTML文件解析
1  | 网站的前端是由一个个的.html文件组成,我们在浏览器输入网站域名(网址)之后就会加载网站的前端页面(www.baidu.com),然后在浏览器中展示出来.  | 
第3节 HTML文件的基本格式
1  | 前端的.html文件有自己固定的格式,格式如下:  | 
第4节 HTML标签介绍
4.1 head中常见标签
- meta标签
 
1  | <meta>:自闭合标签,可以配置当前网站的元数据信息,主要针对于搜索引擎以及字符编码,meta标签有4个重要属性 name、content、charset、http-equiv  | 
- title标签
 
1  | <title>标签: 左开右闭标签,一个浏览器可以打开多个标签,title属性设置标签名. 例如: <title>百度一下,你就知道</title>  | 
- link标签
 
1  | <link>标签: 自闭合标签,主要有两个功能  | 
4.2 body中常见标签
- h1~h6
 
1  | 标题标签,如果在前端想展示文章标签可以使用此标签,标题一共分为6个级别  | 
- p
 
1  | 段落标签,一年文章分为多段,一般用p标签  | 
- abbr
 
1  | <p>超文本传输协议写简称为<abbr>HTML</abbr></p>  | 
- strong/em
 
1  | em :强调 -> 默认是斜体  | 
- code
 
1  | 添加一行代码,一般计算机代码放在这个标签中  | 
- pre
 
1  | 添加一段代码  | 
- q
 
1  | 短引用文本: 一句话如果引用一句经典语录,设置到此标签中  | 
- blockquote
 
1  | 长引用: 一句话如果引用多句经典语录,设置到此标签中  | 
- br
 
1  | 换行标签  | 
- hr
 
1  | 分割线  | 
- ul+li
 
1  | 无序列表  | 
- ol+li
 
1  | 有序列表  | 
- img
 
1  | 图片  | 
- a
 
1  | 超链接: 跳转另一个地址  | 
- table
 
1  | 表格: 生成表格  | 
- form
 
1  | 表单  | 
- span
 
1  | 给文本增加样式的标签: 没有具体语义  | 
- div
 
1  | 布局标签: 没有具体语义  | 
- button
 
1  | 按钮标签: 生成按钮  | 
- iframe
 
1  | iframe标签可以包含(或者引入)另一个页面到当前标签中  | 
- 特殊字符
 
1  | 1. 空格( ) :    | 
- article(HTML5)
 
1  | 标签是 HTML 5 中的新标签,用于描述文章  | 
- header(HTML5)
 
1  | 标签是 HTML 5 中的新标签,标签定义文档的页眉(文档介绍信息)  | 
- footer(HTML5)
 
1  | 标签是 HTML 5 中的新标签,标签定义文档的页脚  | 
- section(HTML5)
 
1  | 标签是 HTML 5 中的新标签,标签定义文档中的节.比如:章节、页眉、页脚或文档中的其他部分  | 
1  | HTML标签有很多这里只是介绍了一些比较常见的标签,如果工作中需要其他标签,可以查询文档.  | 
第5节 HTML标签语义化
5.1 什么是语义化
1  | 在浏览器中显示出来的每一个内容赋予其特殊的意义  | 
5.2 HTML为什么设计那么多标签
| 浏览器在解析HTML文件时,文件内容中有些标签在前端表现出来的样式对于用户来说是分辨不出的(例如: p标签和div标签).既然标签在前端展示出来的样式是相同的那么为什么还要设计不同的标签,用同一个标签不是更好吗,简单方便.理论上说的没错,但是这些标签本身不是给我们用户看的,是给浏览器(SEO搜索引擎)看的.我们用百度通过搜索条件搜索的结果展示是有排名的,有的网站排名靠前,有的网站排名靠后(打广告的网站除外),排名靠前的网站是因为HTML文件在进行内容结构设计的时候,根据内容设计到不同语义的标签中,便于SEO收集关键字,SEO收集网站的关键字越多,在搜索的时候更容易被优先匹配到. | 
5.2 语义化的好处
1  | 1. 更容易被搜索引擎收录  | 
第三章 CSS
第1节 CSS简介
1  | CSS全称为"层叠样式表"(Cascading[kæˈskeɪdɪŋ] Style Sheets),它主要作用是定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等  | 
第2节 CSS基础语法
| 
             | 
        
            
选择符: 又称选择器,指明网页中应用样式规则的元素(标签)
{}   : 声明,在大括号中给元素设置样式,格式为key:value键值对方式,多个key:value时使用分号分割
            
         | 
    
1  | 给一个标签元素添加样式的方式有三种:  | 
第3节 CSS注释
1  | /* CSS注释 */  | 
第4节 CSS的选择器
4.1 选择器的介绍
CSS样式定义由两部分组成,形式如下: 选择器{ 样式; } 在{}之前的部分就是"选择器","选择器"指明了{}中的"样式"的作用对象,也就是"样式"作用于网页中的哪些标签。
4.2 选择器的分类
1  | 1、标签选择器 语法: p{}  | 
第5节 CSS的继承,优先级和重要性
5.1 继承
1  | <div style="color: red;font-size: 100px;">  | 
5.2 优先级
- 权值
 
1  | 1、标签的权值为1  | 
- 层叠
 
1  | 当作用在同一个标签上的样式权值相同时,那么遵循就近原则,谁离标签近,谁的样式就会生效  | 
5.3 重要性
1  | 有时候,在某些特殊情况下,在权值相同的情况下,要让某些样式的设置生效,这时候可以使用!important来设置他的最高权值  | 
第6节 CSS字体/段落/单位和值
6.1 字体/段落样式
1  | 文字—字体:  | 
6.2 单位和值
- 颜色值
 
1  | 1、英文命令颜色  | 
- 字体大小/长度单位
 
1  | 字体大小的单位一般我们前端使用px或者em表示  | 
第7节 元素(标签)分类
7.1 元素分类
1  | 标签元素,分为块状元素和内联元素以及内联块状元素  | 
7.2 元素转换
1  | display属性可以将一个元素转换成其它元素类型  | 
7.3 元素的隐藏/显示
1  | display: none; 设置display属性为none,当前标签就会隐藏  | 
第8节 CSS布局模型
8.1 CSS盒模型
1  | 盒模型是CSS布局的基石,它规定了网页元素如何显示以及元素间相互关系(用于前端布局),所有的块状元素都具有盒子模型的特点  | 
8.2 CSS的布局
- 流动模型(Flow)
 
1  | 流动模型,流动(Flow)是默认的网页布局模式。也就是说网页在默认状态下的 HTML网页元素都是根据流动模型来分布网页内容的  | 
- 浮动模型(Float)
 
1  | 正常情况下块状元素独占一行,那么怎么能让块状元素并排显示呢?这时候就用到了浮动模型  | 
| 
             | 
        
             | 
    
- 层模型(Layer)
 - 绝对定位(position: absolute)
 
| position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位.如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口. | |
            		
div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}
            
         | 
        
             | 
    
- 相对定位(position: relative)
 
| position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动 | |
            		
div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}
            
         | 
        
             | 
    
- 固定定位(position: fixed)
 
| fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是窗口。由于窗口本身是固定的,它不会随浏览器窗口的滚动条滚动而变化 | 
    div{
        width: 200px;
        height: 200px;
        border: 2px red solid;
        position: fixed;
        left: 100px;
        top: 100px;
    }
         | 
    
8.3 前端布局
- 一列布局
 
1  | <div style="width: 1200px;height: 500px;background-color: pink;margin: 0 auto;"></div>  | 
- 二列布局
 
1  | <div style="width: 100%;height: 500px;background-color: pink;margin: 0 auto;">  | 
- 三列布局
 
1  | <div style="width: 100%;height: 500px;background-color: pink;margin: 0 auto;">  | 
第9节 CSS样式设置小技巧
- 水平居中设置-行内元素
 
1  | 被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的  | 
- 水平居中设置-定宽块状元素
 
1  | 定宽块状元素,设置自身为 margin-left:auto;margin-right:auto  | 
- 水平居中设置-不定宽块状元素
 
1  | <style type="text/css">  | 
- 垂直居中-父元素高度确定的单行文本
 
1  | 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的height和line-height 高度一致来实现的  | 
- 垂直居中-父元素高度确定的多行文本
 
1  | <div class="container">  | 
第10节 Flex弹性盒模型
| 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position 属性 + float 属性。它对有些特殊布局非常不方便.2009年,W3C 提出了一种新的方案 Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能 | 
             | 
    
10.1 Flex介绍
- Flex布局是什么
 
1  | Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 Flex 布局.  | 
- 基本概念
 
| 采用Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。 | |
| 
             | 
        
            容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end
             项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size  | 
    
- 容器的属性
 
1  | 以下6个属性设置在容器上。  | 
10.2 容器的属性使用
- [1] flex-direction属性
 
1  | flex-direction属性决定主轴的方向(即项目的排列方向)  | 
| 
             | 
        
            
它可能有4个值
* row(默认值):主轴为水平方向,起点在左端。
* row-reverse:主轴为水平方向,起点在右端。
* column:主轴为垂直方向,起点在上沿。
* column-reverse:主轴为垂直方向,起点在下沿。
            
         | 
    
- [2] flex-wrap属性
 
1  | 默认情况下,项目都排在一条线(又称”轴线”)上。flex-wrap属性定义,如果一条轴线排不下,如何换行.  | 
| 
             | 
        
            
它可能取三个值
1. nowrap(默认):不换
2. wrap:换行,第一行在上方
3. wrap-reverse:换行,第一行在下方
            
         | 
    
| 
             | 
        nowrap(默认):不换 | 
| 
             | 
        wrap:换行,第一行在上方 | 
| 
             | 
        wrap-reverse:换行,第一行在下方 | 
- [3] flex-flow属性
 
1  | flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap  | 
- [4] justify-content属性
 
1  | justify-content属性定义了项目在主轴上的对齐方式  | 
| 
             | 
        
            
它可能取5个值,具体对齐方式与轴的方向有关。下面假设主轴为从左到右。
flex-start(默认值):左对齐
flex-end:右对齐
center: 居中
space-between:两端对齐,项目之间的间隔都相等。
space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍
            
         | 
    
- [5] align-items属性
 
1  | align-items属性定义项目在交叉轴上如何对齐  | 
| 
             | 
        
            
它可能取5个值。具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。
flex-start:交叉轴的起点对齐。
flex-end:交叉轴的终点对齐。
center:交叉轴的中点对齐。
baseline: 项目的第一行文字的基线对齐。
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
            
         | 
    
- [6] align-content属性
 
1  | align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用  | 
| 
             | 
        
            
该属性可能取6个值。
flex-start:与交叉轴的起点对齐。
flex-end:与交叉轴的终点对齐。
center:与交叉轴的中点对齐。
space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch(默认值):轴线占满整个交叉轴
            
         | 
    
第11节 其他常用前端属性介绍
1  | 1. 设置圆角  | 
第12节 Google搜索首页练习
| 
             | 
        
https://www.xiaopiu.com/web/byId?type=project&id=5d6a109262ad1e4d5efc56f6
         | 
    
第四章 JavaScript
第1节 JavaScript概述
1  | 个人建议:如果是零基础,没有计算机相关的理论知识,那么建议你学一门强类型语言,比如Java语言,强类型语言会让你更好的理解计算机(软件和硬件).  | 
1.1 JS简介
1  | 0. JavaScript是一门计算机语言(人与计算机交流的语言)  | 
1.2 JS应用场景
1  | 简单应用: 按钮点击,浮动布局,幻灯片  | 
1.3 JS发展史
1  | 1. JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成  | 
第2节 JavaScript的书写位置
- 行内式
 
1  | JS写到HTML标签中  | 
- 内嵌式(开发中常见)
 
1  | 将JS代码写到HTML文件中的head标签中,使用方式和css类似,将JS代码写到script标签中  | 
- 外部式(开发中常见)
 
1  | 在外部创建一个以.js结尾的文件,然后在当前HTML文件中使用script标签引入  | 
第3节 JS入门之HelloWorld
1  | 基本所有的计算机语言在学习之前都会编写一个入门的代码,输出HelloWorld字符串  | 
第4节 JavaScript基础语法
4.1 变量声明
- 变量的概念
 
1  | 1. 变量是存储值的容器  | 
- 变量的声明
 
1  | JS声明变量使用关键字 var  | 
4.2 基本数据类型
- 常见数据库类型介绍
 
| 变量 | 解释 | 示例 | 
|---|---|---|
| String | 字符串: 一串文字,字符串的值必须用引号(单引号或者双引号)括起来 | var s=’李雷’ | 
| Number | 数字(整数/小数) | var x=10; var y=1.0; | 
| Boolean | 布尔值: 真或者假. 真:true;假:false | |
| Array | 数组: 存储一组数据 | var arr=[1,2,’Polly’,[3,4,5]]; | 
| Object | 对象: 万事万物皆对象,一切都可以保存到变量中 | var obj1={}; var obj2 = new Object(); | 
- 获取数据的数据类型以及注释
 
1  | 1. 控制台输出函数 console.log('要输出的内容');  | 
4.3 对象
1  | JS是一门纯面向对象的语言:万事万物皆对象  | 
4.4 数组
1  | 创建数组的三种方式:  | 
4.5 运算符
1  | 运算符:  | 
4.6 条件分支结构
- if语句
 
1  | if(true/false){  | 
- switch流程控制
 
1  | var a=2;  | 
4.7 循环结构
1  | for循环  | 
4.8 函数
1  | 函数又叫做方法,和我们数学中的方法概念相似,函数可以帮助我们完成特定功能 例如: sin()函数 cos()函数等  | 
- 方法的声明
 
1  | 函数:也叫方法  | 
- 方法的调用
 
1  | //方式一  | 
- 将函数赋给对象
 
1  | var obj = {};  | 
- 对象函数的调用
 
1  | var obj = {};  | 
- JS的常见内置对象和函数
 
1  | 时间对象:  | 
4.9 Cookie技术
- cookie介绍
 
1  | cookie英文单词饼干,小甜点的意思,在JS中他是一段可以保存不超过4KB的小型文本数据,保存在浏览器中  | 
- cookie数据结构
 
1  | cookie是以key=value的形式存储  | 
- cookie怎么使用
 
1  | 1. 向浏览器中保存数据: document.cookie="username=tom";  | 
- cookie的其他参数
 
1  | 1. expires 设置cookie的过期时间,时间格式必须为UTC 或 GMT 时间格式  | 
- 设置和获取cookie案例
 
1  | 1. 设置cookie  | 
第5节 正则表达式
5.1 正则表达式介绍
1  | 1. 正则表达式是由一个字符序列形成的搜索模式  | 
5.2 正则表达式的语法
1  | /正则表达式主体/修饰符(可选)  | 
5.3 JS中支持正则表达式的常见对象和方法
- RegExp对象
 
| 方法 | 描述 | 
|---|---|
| exec | 检索字符串中指定的值。返回找到的值,并确定其位置 | 
| test | 检索字符串中指定的值。返回 true 或 false | 
- String对象
 
| 方法 | 描述 | 
|---|---|
| search | 检索与正则表达式相匹配的值 | 
| match | 找到一个或多个正则表达式的匹配 | 
| replace | 替换与正则表达式匹配的子串 | 
| split | 把字符串分割为字符串数组 | 
5.4 正则表达式的使用
- 构建正则表达式的特殊字符
 
1  | 修饰符: 用于执行区分大小写和全局匹配  | 
| 修饰符 | 描述 | 
|---|---|
| i | 执行对大小写不敏感的匹配 | 
| g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) | 
| m | 执行多行匹配 | 
1  | 方括号: 用于查找某个范围内的字符  | 
| 表达式 | 描述 | 
|---|---|
| [abc] | 查找方括号之间的任何字符 | 
| [^abc] | 查找任何不在方括号之间的字符 | 
| [0-9] | 查找任何从 0 至 9 的数字 | 
| [a-z] | 查找任何从小写 a 到小写 z 的字符 | 
| [A-Z] | 查找任何从大写 A 到大写 Z 的字符 | 
| [A-z] | 查找任何从大写 A 到小写 z 的字符 | 
| (red | blue | 
1  | 元字符(Metacharacter): 是拥有特殊含义的字符  | 
| 元字符 | 描述 | 
|---|---|
| . | 查找单个字符,除了换行和行结束符 | 
| \w | 查找单词字符 | 
| \W | 查找非单词字符 | 
| \d | 查找数字 | 
| \D | 查找非数字字符 | 
| \s | 查找空白字符 | 
| \S | 查找非空白字符 | 
| \b | 匹配单词边界 | 
| \B | 匹配非单词边界 | 
| \0 | 查找 NULL 字符 | 
| \n | 查找换行符 | 
| \f | 查找换页符 | 
| \r | 查找回车符 | 
| \t | 查找制表符 | 
| \v | 查找垂直制表符 | 
| \xxx | 查找以八进制数 xxx 规定的字符 | 
| \xdd | 查找以十六进制数 dd 规定的字符 | 
| \uxxxx | 查找以十六进制数 xxxx 规定的 Unicode 字符 | 
1  | 量词: 用于表示重复次数的含义  | 
| 量词 | 描述 | 
|---|---|
| n+ | 匹配任何包含至少一个 n 的字符串 | 
| n* | 匹配任何包含零个或多个 n 的字符串 | 
| n? | 匹配任何包含零个或一个 n 的字符串 | 
| n{X} | 匹配包含 X 个 n 的序列的字符串 | 
| n{X,} | X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配 | 
| n{X,Y} | X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配 | 
| n$ | 匹配任何结尾为 n 的字符串 | 
| ^n | 匹配任何开头为 n 的字符串 | 
| ?=n | 匹配任何其后紧接指定字符串 n 的字符串 | 
| ?!n | 匹配任何其后没有紧接指定字符串 n 的字符串 | 
- 常见正则表达式的构建
 
1  | 1. 匹配手机号  | 
- 正则表达式的使用
 
1  | 1. 检索字符串中某一个子串是否存在  | 
第6节 HTML DOM(文档对象模型)
6.1 DOM介绍
1  | 1. 当网页被加载时,浏览器会创建页面的文档对象模型DOM(Document Object Model),将整个.html文件读成一个对象(document对象)  | 
6.2 DOM树
1  | DOM树: document对象里描述了整个.html文件(包含各个标签元素),里面的各个元素之间产生了各种关系,这种关系就像树形结构  | 
6.3 获取元素对象的方式
1  | 通过document对象调用  | 
6.4 元素节点对象获取
1  | 节点: Node——构成HTML文档最基本的单元  | 
1  | 1、文档节点(document)  | 
6.5 元素节点内容的获取
1  | 上面获取到了元素节点对象,接下来我们要从节点对象中获取元素节点的内容.  | 
| nodeName | nodeType | nodeValue | |
|---|---|---|---|
| 文档节点 | #document | 9 | null | 
| 元素节点 | 标签名 | 1 | null | 
| 属性节点 | 属性名 | 2 | 属性值 | 
| 文本节点 | #text | 3 | 文本内容 | 
- 文档节点
1
2
3
4
5
6
7
8
9//节点名称
var name = document.nodeName;
console.log(name);
//节点类型
var type = document.nodeType;
console.log(type);
//节点值
var value = document.nodeValue;
console.log(value); - 元素节点
1
2
3
4
5
6
7
8
9
10
11//获取元素节点
var pEle = document.getElementById("pId");
//节点名称
var name = pEle.nodeName;
console.log(name);
//节点类型
var type = pEle.nodeType;
console.log(type);
//节点值
var value = pEle.nodeValue;
console.log(value); - 文本节点
1
2
3
4
5
6
7
8
9
10
11
12
13//获取元素节点
var pEle = document.getElementById("pId");
//获取文本节点
var textEle = pEle.firstChild;
//节点名称
var name = textEle.nodeName;
console.log(name);
//节点类型
var type = textEle.nodeType;
console.log(type);
//节点值
var value = textEle.nodeValue;
console.log(value); - 属性节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14//获取元素节点
var pEle = document.getElementById("pId");
//获取属性节点
var attrEle = pEle.getAttributeNode("id");
console.log(attrEle);
//节点名称
var name = attrEle.nodeName;
console.log(name);
//节点类型
var type = attrEle.nodeType;
console.log(type);
//节点值
var value = attrEle.nodeValue;
console.log(value); 
6.6 元素节点的属性
- 给元素节点的属性赋值
 
1  | <p id="pId" title="标题" mn="abc" class="def">这是一个P标签</p>  | 
- 添加和获取元素的属性(setAttribute和getAttribute方法)
 
1  | <p id="pId">这是一个P标签</p>  | 
6.7 元素节点创建以及元素节点内容的修改
- 元素节点的创建和修改
 
1  | 1、创建元素节点  | 
- 设置/获取元素内容
 
1  | innerText:设置元素内容,原样输出  | 
6.8 DOM事件
- 事件简介
 
1  | 事件:文档或浏览器窗口中发生的一些特定的交互瞬间.  | 
- 事件类型
 
1  | 单击 onclick  | 
- 事件绑定的方式
 
1  | 1. 方式一  | 
- 定时器
 
1  | //设置定时器1:时间到了之后定时器执行一次然后结束  | 
6.9 JS页面跳转
- JS跳转页面
 
1  | window.location.href="https://www.baidu.com"  | 
- JS跳转目标页面参数获取
 
1  | var url = location.href;  | 
6.10 JS设置元素的CSS样式
1  | 使用JS设置元素的CSS样式  | 
6.11 练习(轮播图)
1  | 原型地址: https://www.xiaopiu.com/web/byId?type=project&id=5d6dcfc162ad1e4d5efcf4dd  | 
第五章 JQuery
第1节 JQuery是什么
1  | JQuery是一个快速、简洁的JavaScript代码库(轻量级JS框架)  | 
第2节 JQuery的优势
1  | - 轻量级  | 
第3节 JQuery的引入方式
- 离线本地引入
 
1  | 下载地址: https://www.jq22.com/jquery-info122  | 
- CDN引入
 
1  | CDN地址: https://www.jq22.com/jquery-info122  | 
第4节 JQuery入门之HelloWorld
1  | <button id="btn">Hello JQuery</button>  | 
第5节 JQuery文档使用之选择器
5.1 基本选择器一
- id选择器
 
1  | HTML:  | 
- 元素(标签)选择器
 
1  | HTML:  | 
- 类选择器
 
1  | HTML:  | 
- 通用选择器
 
1  | HTML:  | 
- 分组选择器
 
1  | HTML:  | 
5.2 基本选择器二
- 匹配索引值为偶数的元素
 
1  | HTML:  | 
- 匹配索引值为奇数的元素
 
1  | HTML:  | 
5.3 层级选择器
- 后代选择器
 
1  | HTML:  | 
- 子类选择器
 
1  | HTML:  | 
兄弟选择器
- 匹配所有紧接在 prev 元素后的 next 元素
 
1  | HTML:  | 
- 匹配 prev 元素的所有同辈 siblings 元素
 
1  | HTML:  | 
5.4 属性选择器
- 根据属性名匹配
 
1  | HTML:  | 
- 根据属性名和值匹配
 
1  | HTML:  | 
5.5 表单选择器
- 匹配单行文本框
 
1  | HTML:  | 
- 匹配密码框
 
1  | HTML:  | 
- 匹配单选框
 
1  | HTML:  | 
- 匹配复选框
 
1  | HTML:  | 
- 匹配不可见元素
 
1  | HTML:  | 
5.6 表单对象属性选择器
- 匹配所有选中的元素
 
1  | HTML:  | 
- 匹配所有选中的option元素
 
1  | HTML:  | 
第6节 JQuery文档使用之文档处理
- 内部插入
 
1  | HTML:  | 
- 删除
 
1  | HTML:  | 
第7节 JQuery文档使用之筛选
- 查询列表中的第一个
 
1  | HTML:  | 
- 查询列表中的最后一个
 
1  | HTML:  | 
- 筛选出与指定表达式匹配的元素集合
 
1  | HTML:  | 
- 筛选一个包含着所有匹配元素的唯一父元素的元素集合
 
1  | HTML:  | 
第8节 JQuery文档使用之事件绑定
- 页面载入事件
 
1  | 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数  | 
事件绑定
- on函数
1
2
3$("p").on("click", function(){
alert($(this).text());
}); 
- on函数
 - bind函数
 
1  | $("p").bind("click", function(){  | 
- 直接绑定
 
1  | $("p").click(function(){  | 
- 单击事件
 
1  | $("p").click();  | 
- 失去焦点事件
 
1  | $("input").blur();  | 
- 获取焦点事件
 
1  | $("input").focus();  | 
第9节 JQuery文档使用之属性操作
- attr()获取/设置元素属性
 
1  | 1. 获取属性 $("img").attr("src");  | 
- addClass()给元素添加类
 
1  | $("p").addClass("selected");  | 
- html()获取/设置第一个匹配元素的html内容
 
1  | 1. 获取值 $('p').html();  | 
- text()获取/设置第一个匹配元素的文本内容
 
1  | 1. 获取值 $('p').text();  | 
- val()获取/设置input元素value属性值
 
1  | 1. 获取值 $("input").val();  | 
第10节 JQuery文档使用之CSS操作
- css()获取/设置css样式
 
1  | 1. 获取值 $("p").css("color");  | 
第11节 JQuery文档使用之效果
- 元素隐藏和显示
 
1  | 1. 显示  | 
- 滑动
 
1  | 1. 向上收起(隐藏) slideUp()  | 
第12节 JQuery节点创建
1  | <table border="1"></table>  | 
第13节 JQuery对象和DOM对象的转换
1  | <button id="btn">我是一个按钮</button>  | 
第14节 练习
14.1 练习一 表格的隔行换色
1  | HTML:  | 
14.2 练习二 全选/全不选练习
- 样式
 
- HTML代码
 
1  | <body>  | 
- JQuery代码
 
1  | $(function(){  | 
14.3 练习三 侧边栏导航以及右侧内容区联动
- HTML代码
 
1  | <body>  | 
- CSS代码
 
1  | a{  | 
- JQuery代码
 
1  | // 获取所有的主菜单  |