jQuery

##jQuery是一个jQuery,顾名思义,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。

##先讲一下jQuery的优势

轻量级

强大的选择器

出色的DOM操作

可靠的事件处理机制

完善的Ajax

出色的浏览器兼容性

链式操作方式

丰富的插件支持

完善的文档

开源

##配置jQuery环境

获取jQuery最新版本
进入jQuery官网,下载最新jQuery库文件。
1.x代表的是兼容ie6-8
2.x代表的是不兼容ie6-8
在页面中引入jQuery
在head标签内引入jQuery,格式如下:

##代码及注意事项

$(document).ready(function(){
    alert(“Hello World!”);
});

注意:
1.在jQuery库中,$ 就是jQuery的一个简写形式
例如: $(“#div”)==jQuery(“#div”)
2.当浏览器解析完document后,执行ready小括号内的函数。

##jquery使用入门

选择器:类似于css的选择器(包含css1-css3的选择器)
例子:
$(“#div1>p”)

事件绑定:
$(“#btn”).click(function (){});
$(“#btn”).on(“click”,function (){});

修改样式:
$(“#div1”).css({“left”:100});

修改属性:
$(“#img1”).attr({“src”: “img/1.jpg”});

动画:
$(“#div1”).animate({“left”:100},500,function (){alert(‘a’);});

dom操作

创建元素:

$("<div><a href=‘###'>xx</a></div>")

添加元素:

$("<div><a href='###'>xx</a></div>").appendTo('#div1');

原生对象转jquery对象
var div1 = document.getElementById(“div1”);
$(div1).css();

##jQuery选择器的优势

简洁的写法
支持CSS1到CSS3选择器
完善的处理机制

##jQuery选择器的分类

基本选择器

层次选择器

过滤选择器

###基本选择器

1.#id 

描述:根据给定的id匹配一个元素 

返回:单个元素

实例:$(“#demo”)选取id为demo的元素

2..class

返回:集合元素

描述:根据给定的类名匹配元素

实例:$(“#demo”)选取id为demo的元素

3.element 

返回:集合元素

描述:根据给定的元素名匹配元素

实例:$(“p”)选取所有的<p>元素

4.*

返回:集合元素

描述:匹配所有元素

实例:$(“*”)选取所有的元素;

5.Selector1,selector2,…,selectorN

返回:集合元素

描述:将每一个选择器匹配到的元素合并后一起返回

实例:$(“div,span,p.myClass”)选取所有<div>,<span>和拥有class为myClass的<p>标签的一级组元素

###层次选择器

1.$(“ancestor  desendant”)

描述:选取ancestor元素里的所有desendant(后代)元素

返回:集合元素

实例:$(“div  span”)选取<div>里的所有的<span>元素

2.$(“parent>child”)

描述:选取parent元素下的子元素

返回:集合元素

实例:$(“div>span”)选取<div>元素下元素名是<span>的子元素

3.$(“prev+next”)

描述:选取紧接在prev元素后的next元素

返回:集合元素

实例:$(“.one+div”)选取class为one的下一个<div>同辈元素

4.$(“prev~siblings”)

描述:匹配所有元素选取prev元素之后的所有siblings元素

返回:集合元素

实例:$(“#two~div”)选取id为two的元素后面的所有<div>同辈元素

###基本过滤选择器

1.:first

描述:选取第一个元素

返回:单个元素

实例:$(“#demo”)选取id为demo的元素$(“div :first”)选取所有<div>元素中第1个<div>元素

2.:last

描述:选取最后一个元素

返回:单个元素

实例:$(“div:last”)选取所有<div>元素中最后一个<div>元素

3.:not(selector)

描述:去除所有与给定选择器匹配的元素

返回:集合元素

实例:$(“input:not(.myClass)”)选取class不是myClass的<input>元素

4.:even

描述:匹配所有元素选取索引是偶数的所有元素,索引从0开始

返回:集合元素

实例:$(“input:even”)选取索引是偶数的<input>元素

5.:odd

描述:选取索引是奇数的所有元素,索引从0开始

返回:集合元素

实例:$(“input:odd”)选取索引是奇数的<input>元素

6.:eq(index)

描述:选取索引等于index的元素(index从0开始)

返回:单个元素

实例:$(“input:eq(1)”)选取索引等于1的<input>元素

7.:gt(index)

描述:选取索引大于index的元素(index从0开始)

返回:集合元素

8.:lt(index) 

描述:选取索引小于index的元素(index从0开始)

返回:集合元素

实例:$(“input:even”)选取索引是偶数的<input>元素

内容过滤选择器

1.:contains(text)

描述:选取含有文本内容为“text”的元素

返回:集合元素

实例:$(‘div:contains(“测试”)’)选取包含文本“测试”的<div>元素

2.:empty

描述:选取不包含子元素或者文本的空元素

返回:集合元素

实例:$(‘div:empty’)选取不包含子元素和文本的<div>空元素

3.:has(selector)

描述:选取含有选择器所匹配的元素的元素

返回:集合元素

实例:$(‘div:has(p)’)选取含有<p>元素的<div>元素

4.:parent

描述:选取含有子元素或者文本的元素

返回:集合元素

实例:$(“div:parent”)选取拥有子元素或文本元素的<div>元素

###属性过滤选择器

1.[attr]

描述:选取拥有此属性的元素

返回:集合元素        

实例:$(“div[id]”)选取拥有属性id的元素

2.[attr=value]

描述:选取属性的值为value的元素

返回:集合元素

实例:$(“div[title=test]”)选取属性title为”test”的<div>元素

3.[attr!=value]

描述:选取属性的值不等于value的元素

返回:集合元素

实例:$(“div[title!=test]”)选取属性title不等于 ”test”的<div>元素

4.attr^=value]

描述:选取属性的值以value开始的元素

返回:集合元素

实例:$(“div[title^=test]”)选取属性title以”test”开始的<div>元素

5.[attr$=value]

描述:选取属性的值以value结束的元素

返回:集合元素

实例:$(“div[title$=test]”)选取属性title以”test”结束的<div>元素

6.attr*=value]

描述:选取属性的值含有value的元素

返回:单个元素

实例:$(“div[title*=test]”)选取属性title含有”test”的<div>元素

7.[attr1][attr2][attrN]

描述:选择满足所有属性选择器的元素

返回:集合元素

实例:$(“div[id][title$=‘test’]”)选取拥有属性id,并且属性title以”test”结束的<div>元素

子元素过滤选择器

1.:nth-child(index/even/odd)

描述:选取每个父元素下的第index个或者奇偶元素。index从1开始

返回:集合元素

实例:$(‘div:nth-child(1)’) 选取所有div中的,是其父标签的第一个子标签的div;$(‘div:eq(0)’);选取第一个div;

2.:first-child

描述:选取每个父元素的第一个子元素

返回:集合元素

实例:$(“ul li: first-child”)选取每个<ul>中第一个<li>元素

      $(‘div:first’)选择所有div标签中的第一个。

3.:last-child

描述:选取每个父元素的最后一个子元素

返回:集合元素

实例:$(“ul li: last-child”)选取每个<ul>中最后一个<li>元素;$(‘div:last’)选择所有div标签中的最后一个。

4.:only-child

描述:如果某个元素是它父元素中唯一的子元素,那么将会被匹配。

返回:集合元素

实例:$(“ul li:only-child”)在<ul>中选取是惟一子元素的<li>元素

html

#古人云:温故而知新。
11

###所以呢我就想好好整理下关于html一些知识点。(文笔不好,轻喷)

##强烈声明,此文版权为本人所有,如有雷同,算我抄你的行不?

####既然本文,是来整理html里的一些知识点,那么我们先来了解下html的基本结构是啥样的?
11
此图就是html的基本结构。

#####小提示,大神可以忽略,前端新手多多注意,html标签虽然不区分大小写,但是建议小写。

####好啦进入正题了,咱们先来谈谈标签。

html里的标签可以分为这几种

一.html 根标签 就是:

<html></html>;

二.head里面的一些标签:

<title></title> <script></script> <link/> <style></style> <meta/> <base/>

三.body里面的一些标签:

1.h1~h6标题

标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。h1是最高的等级。


2.<p></p>段落


3.<div></div> <span></span>


4.<a></a>超链接

a标签里面有href属性,title属性,target属性.

标准格式是这么来写:<a href="" title="" target=""></a>


5.<img/>图片

img标签的一些属性:src 图像的位置,title 提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本),alt 指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本;

标准的格式:<img src="" title=""/>


6.<q></q>短文本引用

比如在你的网页的文章里想引用某个作家的一句诗,这样会使你的文章更加出彩,那么q标签正是你所需要的。


7.<blockquote></blockquote>>长文本引用

##看困了是吧,给你提提神~~~
11

##继续。。。


8.<br></br>换行标签 <hr></hr>分割线标签


9.<address></address>为页面加入地址信息


10.<code></code>

在网页中显示一些计算机专业的编程代码,当代码为一行代码时,你就可以使用code标签了。

比如<code>var i = 0;</code>;


11.<pre></pre>预格式化的文本

要插入多行代码时不能使用code标签,如果是多行代码,可以使用pre标签。


12.列表标签


无序列表

<ul>

    <li></li>

</ul>


有序列表

<ol>

    <li></li>

</ol>


自定义列表

<dl>

    <dt></dt>

    <dd></dd>

</dl>


13.表格


注意:<table tbody></table>这个标签基本上不怎么用了.


<tr></tr>表格的一行


<th></th>表格头部的一个单元格,表格表头


<td></td>表格的一个单元格


<caption></caption>表格标题


<table summary = ""></table>


14.表单


<from action="url" method="get/post" target="_self"></from>

from标签用于为用户输入创建HTML表单.action属性 输入的数据被传送到的地址,比如一个PHP页面(test.php)。method属性
数据传送的方式(get/post)

<input type="" name="" value=""/>输入框


当type=”text”时,输入框为文本输入框


当type=”password”时,输入框为密码输入框


name 为文本档命名,已备后台程序ASP、PHP使用


value 为文本输入框设置默认值。(一般起到提示作用)

单选框 复选框

<input type="radio" name="" value=""/>

<input type="checkbox" name="" value=""/>


当type=”radio”时,控件为单选框


当type=”checkbox”时,控件为复选框


value 提交数据到服务器的值(后台程序PHP使用)


name 为控件命名,以备后台程序ASP、PHP使用


checked 当设置checked 或 checked=”checked”时,该选项被默认选中


注意:同一组的单选按钮,name取值一定要一致,这样同一组的单选按钮才可以起到单选的作用


<label></label>为input元素定义标注(标记) 这个标签适合用户名和密码

label元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上

标签的 for 属性应当与相关元素的 id 属性相同

<pre><label for="male">Male</label> <input type="radio" name="sex" id="male" /> </pre>

for属性可把 label 绑定到另外一个元素。请把 “for” 属性的值设置为相关元素的 id 属性的值

<textarea></textarea> 文本域 可以自行拉动大小

cols属性 :多行输入域的列数

rows :多行输入域的行数

<select></select> 下拉列表框

multiple属性 可以实现多选功能

option 下拉选项

css3(下)

#再来补充下css3一些重要知识

##盒模型

###标准盒模型

###外盒模型

元素空间宽度 = content width + padding + border + margin的宽度

元素空间高度 = content height + padding + border + margin的高度

###内盒模型

元素宽度 = content width + padding + border的宽度

元素高度 = content height + padding + border的高度

IE盒模型(当IE6~8处于怪异模式下就会使用IE盒子模型,否则将使用W3C标准盒子模型。)

###外盒模型

元素空间宽度 = content width + margin的宽度

元素空间高度 = content height + margin的高度

###内盒模型

元素宽度 = content width

元素高度 = content height

box-sizing:content-box | border-box;

box-sizing有三个值,默认是content-box(表示元素使用W3C盒子模型),而border-box(表示元素使用IE盒子模型),inherit(从父元素上继承)

##float 浮动

float:left; float:right;

具有包裹性 本意作用是做文字环绕 float布局只是歪打正着的产物

##清除浮动

overflow:visible;hidden;scroll;

overflow:visible;默认值;

overflow:hidden;将所有超出盒子的所有内容都给隐藏掉

overflow:scroll;有超出盒子内容时 就会出现滚动条

overflow:auto;在必需时对象内容才会被裁切或显示滚动条

.clear:after {

    content:".";

    height:0;ß

    visibility:hidden;

    display:block;

    clear:both;

}

javaScript(上)

#整理Javascript一些知识点

javascript 浏览器脚本语言 最大的特点就是单线程了。JavaScript的主要用途是与用户互动,以及操作DOM。负责内容 样式 行为分离环节中的分离部分。

##js的组成

###ECMAScript
核心 几乎没有兼容问题 担任解析器的角色 处理我们的逻辑代码

###DOM
文档对象模型;文档指的就是网页;把网页变成一个JS可以操作的对象;给了JS可以操作页面元素的能力;document;有一些兼容性问题;

###BOM
浏览器对象模型;给了JS操作浏览器的能力;window;有许多兼容性问题

##js的引用

外部文件 script标签 src属性

内部 script标签区域

注释方式 单行注释 多行 注释

##js的数据类型

###基本类型

1.Underfined

在使用var声明变量,但未对其加以初始化时,这个变量的类型就是undefined,且其默认初始化值为undefined.对未声明与初始化的变量,直接使用,那么这个变量的类型也是undefined,但是没有默认初始化值。type test;//undefined 直接调用就会报错

2.Null

null类型的默认值是null,表示一个空对象指针,如果定义的变量准备在将来用于保存对象,那么就该将该变量初始化为null。

3.Boolean

该类型有两个值:true false

Boolean()方法 可以转换其他数据类型为布尔值

4.Number

整数 可以通过10进制 8进制 16进制表示

浮点数 该数值必须包含一个小数点,小数点后面必须有一位数字,如果小数点后只有0,自动转换成整数浮点数占据的空间内存是内存的两倍,极大极小的数字会用e科学表示法。

NaN 非数

1、即非数值,是一个特殊的值,这个数值用于表示一个本来要返回数值的操作数,未返回数值的情况。比如任何数值除以0,本是不符合规范的,js里,这样的操作返回NaN(但是实际上,只有0除以0时返回NaN,其他则无穷值)。
2、NaN有两个不同寻常的特点:任何涉及NaN的操作都会返回NaN,NaN值与任何值都不相等,包括本身。
3、isNaN()函数,这个函数可以判断,传递的参数是否“不是数值”这里涉及数值转换的问题,例如“10”这个字符串就可以转换为10,但是“blue”这个字符串则无法转换为数字,所以isNaN("blue")==true

Number() 可以    任何类型

parseInt()  parseFloat() 只用于字符串类型

5.string

‘’ “”单引号 双引号

基本类型的特点:

基本类型的值是不可变得

复杂对象类型 Object 对象是属性和方法的集合

基本类型以外 就是引用类型

引用类型的特点

引用类型的值是可变的

###复杂数据类型

object 对象类型

Array 数组也是对象

Function 函数

##变量 var (let const)

变量是一个杯子,它的类型是由它里面存放的东西决定的

可以通过 typeof( )检测出元素的类型

命名规范 一般推荐驼峰式命名

##流程控制语句:

if 最基本的条件判断语句

if( 10 < 20 ){

}else{

}

for 循环

for(var i = 0 ; i< index.length;i++){ }

switch

for-in 遍历对象

forEach 遍历数组

try catch

width

eval

##作用域

###this

this是Javascript语言的一个关键字。

它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用

随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。

  1. 普通函数调用

  2. 作为对象方法的调用

  3. 作为构造函数调用

  4. apply() call()

“构造函数”,其实就是一个普通函数,但是内部使用了this变量。对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上

用构造函数生成实例对象,有一个缺点,那就是无法共享属性和方法。

###继承

对象之间的继承方法

  1. 构造函数绑定

使用call或apply方法,将父对象的构造函数绑定在子对象上

任何一个prototype对象都有一个constructor属性,指向它的构造函数

每一个实例也有一个constructor属性,默认调用prototype对象的constructor属性。

css3(上)

#今天再来回锅下css3的一些知识点。

首先呢 大家要记住一点 css它是层叠样式表。

##好的,进入正题,先来讲一下css的几种样式:

###第一种引入方式:行间样式

<div style="width:88px;"></div>

优点:可以直接作用于标签,不会影响到其他标签。有冲突的css样式,优先级最高。

缺点:不能重复使用。影响html文档。影响阅读体验。也不利于代码的维护。

###第二种引入方式:html文档内容引入:

<style type="text/css"></style>

优点:在head标签内引入style区域,不会影响body标签结构,有点内容,样式分离的味道。

缺点:不能重复使用,优先级低于行间样式。

###第三种引入方式:外部引入方式:

<link/>

优点:完全的内容,样式分离,可以和其它html文档共享css文件。

缺点:会发生一次请求,浏览器渲染html的时候,会请求样式。内部的样式就不会发生请求。

##然后,在说一下,css的几种选择器:

###id选择器

#nav

特点:具有唯一性。

###class选择器

.nav

特点:可以使用相同名字。

###标签选择器

a h1 p

特点:能够决定这些特殊标签应该采用的相应的css样式。

###通配选择器

*

特点:能够是给所有元素设置样式。

###层级选择器

.nav .list

特点:可以选择特定元素或者元素组的后代

###群组选择器

.nav,.nav

特点:使用群组选择器,将会大大的简化css代码,即提高了编码的效率,也减少了css文件的体积。

###伪类选择器

a:link 链接未点击上去的状态

a:visited 访问过的状态

a:hover 悬浮的状态

a:active 点击没有松开的状态

###伪元素选择器

p::first

特点:伪元素选择器不能跟任何元素派生选择器。

##小扩展:颜色值。

###1.关键词 直接使用的名字的颜色值称为命名颜色,css支持17种合法命名颜色。

color:aqua fuchsia lime olive red white black gray maroon orange silver yellow blue green navy purple teal(浏览器支持140种颜色)

###2.16进制 6进制是设置颜色值的常用方式,将三个介于00-FF的十六进制数连接起来,若16进制的3组数各自成对,则可简写为3位。

color:#fff;

###3.rgb 通过组合不同的红色、绿色、蓝色分量创造出的颜色成为RGB模式的颜色。显示器是由一个个像素构成,利用电子束来表现色彩。像素把光的三原色:红色(R)、绿色(G)、蓝色(B)组合起来。每像素包含8位元色彩的信息量,有0-255的256个单元,其中0是完全无光状态,255是最亮状态 ,若数值小于最小值0,则默认调整为0;若数值大小最大值255,则默认调整为255.

color:rgb(255,255,255)

###4.rgba (IE8-浏览器不支持) rgba模式是在RGB基础上增加了alpha通道,用来设置颜色的透明度,其中这个通道值的范围是0-1。0代表完全透明,1代表完全不透明

color:rgb(255,255,255,0.8)

###5.hsl (扩展知识,实用性低)(IE8-浏览器不支持) HSL模式是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互的叠加得到各式各样的颜色。HSL标准几乎可以包括人类视力所能感知的所有颜色.h:色调(hue)可以为任意整数。0(或360或-360)表示红色,60表示黄色,120表示绿色,180表示青色,240表示蓝色,300表示洋红(当h值大于360时,实际的值等于该值模360后的值).s:饱和度(saturation),就是指颜色的深浅度和鲜艳程度。取0-100%范围的值,其中0表示灰度(没有该颜色),100%表示饱和度最高(颜色最鲜艳).l:亮度(lightness),取0-100%范围的值,其中0表示最暗(黑色),100%表示最亮(白色)

###hsla (IE8-浏览器不支持)HSLA模式是HSL的扩展模式,在HSL的基础上增加一个透明通道alpha来设置透明度
hsla(<length>,<percentage>,<percentage>,<opacity>)


##再说一下单位

###1.px 具体单位 具体到像素

width:100px

###2.100% 百分比 根据父级

width:100%

###3.em 单位被定义为当前字体大小 根据body

<body>

    <div></div>

</body>

body{width:100px} div{width:1.2em}所以div的宽度应该是120px;

###4.rem 基于根元素html进行设置

<html>

    <div></div>

</html>

body{font-size:10px} div{font-size:1.2em}`所以div的font-size应该是12px;

###5.vh和vw (扩展知识)视窗单位 vh等于viewport高度的1/100.例如,如果浏览器的高是900px,1vh求得的值为9px。同理,如果显示窗口宽度为750px,1vw求得的值为7.5px。

##基线、底线、顶线

行高指的是文本行的基线间的距离。
基线并不是汉字的下端沿,而是英文字母”x”的下端沿

##行距、行高

##font字体

font:italic bold 12px/20px arial,sans-serif;

font简写顺序:font-style,font-variant,font-weight,font-size/line-height,font-family;

(扩展知识)字体是文字的外在形式,就是文字的风格,是文字的外衣。比如行书、楷书、草书,都是一种字体。同样一个字每个人写起来都会有差异,可以说每个人都有一套潜在的字体库。对于web页面来说,字体就是计算机上存储的一套文字显示方式。通过对文字进行一些特殊处理(比如末端加强)来提高不同环境中文字的可读性。

比如同样大小的文字,在不同字体下的可读性是不同的。