jQuery常用语法总结笔记
jQuery
1.入口函数
1 $(document).ready(function(){});
2 $(function(){});
jQuery入口函数与js入口函数的区别:
jQuery的入口函数是在 html所有标签都加载之后,就会去执行。
Js的window.onload事件是等到所有内容,包括外部图片之类的文件加载完后,才会执行
2.jQuery选择器
基本选择器
|
基本选择器 |
||
|
符号 |
说明 |
用法 |
|
$(“#demo”) |
id选择器 |
$(“#demo”).css(“background”,”red”) |
|
$(“.liItem”) |
类选择器 |
$(“.liItem”). css(“background”,”red”); |
|
$(“div”) |
标签选择器 |
$(“div”). css(“background”,”red”); |
|
$(“*”) |
通配符选择器 |
$(“*”). css(“background”,”red”) |
|
$(“.liItem,div”) |
并集选择器 |
$(“.liItem,div”). css(“background”,”red”) |
层级选择器
|
|
||
|
符号 |
说明 |
用法 |
|
空格 |
后代选择器 选择所有的后代元素 |
$(“div span”). css(“background”,”red”); |
|
> |
子代选择器 选择所有的子代元素 |
$(“div > span”). css(“background”,”red”) |
|
+ |
紧邻选择器 选择紧挨着的下一个元素 |
$(“div + p”). css(“background”,”red”) |
|
~ |
兄弟选择器 选择后面的所有的兄弟元素 |
$(“div ~ p”). css(“background”,”red”) |
过滤选择器
|
基本过滤选择器 |
||
|
符号 |
说明 |
用法 |
|
:eq(index) |
index是从0开始的一个数字,选择序号为index的元素。选择第一个匹配的元素。 |
$(“li:eq(1)”). css(“background”,”red”) |
|
:gt(index) |
选择序号大于index的元素 |
$(“li:gt(2)”). css(“background”,”red”) |
|
:lt(index) |
选择小于index 的元素 |
$(“li:lt(2)”). css(“background”,”red”) |
|
:odd |
选择所有序号为奇数行的元素 |
$(“li:odd”). css(“background”,”red”) |
|
:even |
选择所有序号为偶数的元素 |
$(“li:even”). css(“background”,”red”) |
|
:first |
选择匹配第一个元素 |
$(“li:first”). css(“background”,”red”) |
|
:last |
选择匹配的最后一个元素 |
$(“li:last”). css(“background”,”red”) |
属性选择器
|
属性选择器 |
||
|
符号 |
说明 |
用法 |
|
$(“a[href]”) |
选择所有包含href属性的元素 |
$(“a[href]”). css(“background”,”red”) |
|
$(“a[href=’itcast’]”) |
选择href属性值为itcast的所有a标签 |
$(“a[href=’itcast’]”). css(“background”,”red”) |
|
$(“a[href!=’baidu’]”) |
选择所有href属性不等baidu的所有元素,包括没有href的元素 |
$(“a[href!=’baidu’]”). css(“background”,”red”) |
|
$(“a[href^=’web’]”) |
选择所有以web开头的元素 |
$(“a[href^=’web’]”). css(“background”,”red”) |
|
$(“a[href$=’cn’]”) |
选择所有以cn结尾的元素 |
$(“a[href$=’cn’]”). css(“background”,”red”) |
|
$(“a[href*=’i’]”) |
选择所有包含i这个字符的元素,可以是中英文 |
$(“a[href*=’i’]”). css(“background”,”red”) |
|
$(“a[href][title=’我’]”) |
选择所有符合指定属性规则的元素,都符合才会被选中。 |
$(“a[href][title=’我’]”). css(“background”,”red”) |
筛选选择器
|
基本过滤选择器 |
||
|
符号 |
说明 |
用法 |
|
.eq(index) |
index是从0开始的一个数字,选择序号为index的元素。 |
$(“li”).eq(1). css(“background”,”red”) |
|
.first( ) |
选择匹配第一个元素 |
$(“li”).first(). css(“background”,”red”) |
|
.last( ) |
选择匹配的最后一个元素 |
$(“li”).last(). css(“background”,”red”) |
|
.parent( ) |
选择父亲元素 |
$(“li”).parent(). css(“background”,”red”) |
|
.siblings( ) |
选择所有的亲兄弟元素,不包括自己 |
$(“li”).sibling(). css(“background”,”red”) |
|
.find( ) |
查找所有的后代元素 |
$(“li”).find(). css(“background”,”red”) |
|
.prevAll() |
选择这个元素之前的所有亲兄弟元素 |
… |
|
.nextAll() |
选择这个元素之后的所有亲兄弟元素 |
… |
3.jQuery动画
显示/隐藏
1 $(selector).show(speed,callback);
2 $(selector).hide(speed,callback);
3 $(selector).toggle(speed,callback);
speed:隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒
callback:隐藏或显示完成后所执行的函数
滑动
1 $(selector).slideDown(speed,callback);
2 $(selector).slideUp(speed,callback);
3 $(selector).slideToggle(speed,callback);
淡入淡出
1 $(selector).fadeIn(speed,callback);
2 $(selector).fadeOut(speed,callback);
3 $(selector).fadeToggle(speed,callback);
4 $(selector).fadeTo(speed,opacity,callback);
opacity:必选参数,将淡入淡出效果设置为给定的不透明度
自定义动画
1 $(selector).animate({params},speed,callback);
必需的 params 参数定义形成动画的 CSS 属性。
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。
操作多个属性
停止动画
1 $(selector).stop(stopAll,goToEnd);
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
stop(true) 所有动画不执行
stop(false,true) 动画立即执行完毕,这种用法使用较多
4.jQuery HTML
操作dom
text() - 设置或获取所选元素的文本内容
html() - 设置或获取所选元素的内容(包括 HTML 标记)
val() - 设置或获取表单字段的值
attr()- 设置或获取属性的值
有一个参数就是设置,没有参数就是获取!
removeAttr ()- 移除属性
操作样式
addClass() 给指定的元素添加样式类名
removeClass() 给指定的元素移除样式类名
toggleClass () 给指定的元素切换样式类名
hasClass () 判断是否有样式类名
操作元素
1.在内部添加
$(“div”).append(node) // 在div内部元素的结尾追加元素node
node.appendTo(“div”) // 把node追加到div内部元素的结尾
$(“div”).prepend(node) // 在div内部元素的开头追加元素node
node.prependTo(“div”) // 把node追加到div内部元素的开头
2.在外部添加
$(“div”).before(node) // 在div后面添加兄弟节点node
$(“div”).after(node) // 在div前面添加兄弟节点node
3.删除
remove() - 删除被选元素及其子元素(自杀)
empty() - 删除被选元素的子元素,不包括被选元素!
删除被选元素的子元素用html(“”)更加高效!
4.复制
clone()- 如果加参数true就是深层复制,会把之前绑定的事件也给复制
replaceWith()-替换节点
jQuery尺寸
1.宽度和高度
width()
height()
innerWidth()
innerHeight()
outerWidth()
outerHeight()
.height()方法和.css(“height”)的区别:
返回值不同:.height()方法返回的是数字类型(20); .css(“height”)返回的是字符串类型(20px)
2.坐标值
offset() //获取和设置元素在当前窗口的相对偏移,返回的是一个对象,设置值后自动变成相对定位 Object {top: 50, left:8}
position() //只能获取元素相对于父亲的偏移,返回的是一个对象,不能设置值
获取值:offset().left offset().top position() .left position() .top
设置值:$("p").offset({left:txtLeft,top:txtTop});
区别:
使用position()方法时事实上是把该元素当绝对定位来处理,获取的是该元素相当于最近的一个拥有绝对或者相对定位的父元素的偏移位置。使用position()方法时如果其所有的父元素都为默认定位(static)方式,则其处理方式和offset()一样,是当前窗口的相对偏移。
使用offset()方法不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前视口的偏移。
3.滚动条
scrollTop() //获取或者设置垂直方向上到页面顶端的距离
scrollLeft() // 获取或者设置水平方向上到页面左端的距离
scroll() // 触发滚动事件:$(selector).scroll(function(){…});
5.jQuery事件绑定机制
bind方式
语法格式:.bind( eventType, [ eventData ], handler )
参数说明
第一个参数:事件类型
第二个参数:传递给事件响应方法的数据对象,可以省略。
事件响应方法中获取数据方式:e.data
第三个参数:事件响应方法
1 $("p").bind("click",function(e){
2 //事件响应方法
3 });
one方式
语法格式:one( events [, data ], handler )
只绑定一次事件
delegate方式
语法格式:$(selector).delegate( selector, eventType, handler )
语法说明:
第一个参数:selector, 子选择器
第二个参数:事件类型
第三个参数:事件响应方法
1 $(".parentBox").delegate("p","click", function(){
2 //为 .parentBox下面的所有的p标签绑定事件
3 });
on方式
jQuery1.7版本后,jQuery用on统一了所有的事件处理的方法
语法格式:$(selector).on( events, [ selector ],[ data ], handler )
参数介绍:
第一个参数:events,事件名
第二个参数:selector,类似delegate
第三个参数: 传递给事件响应方法的参数
第四个参数:handler,事件处理方法
1 //绑定一个方法
2 $( "#dataTable tbodytr" ).on( "click", function() {
3 console.log( $( this ).text() );
4 });
5
6 //给子元素绑定事件
7 $( "#dataTable tbody").on( "click", "tr", function() {
8 console.log( $( this ).text() );
9 });
10
11 //绑定多个事件的方式
12 $( "div.test" ).on({
13 click: function() {
14 $( this ).toggleClass( "active");
15 },
16 mouseenter: function() {
17 $( this ).addClass( "inside" );
18 },
19 mouseleave: function() {
20 $( this ).removeClass( "inside");
21 }
22 });
解绑事件
- unbind解绑 bind方式绑定的事件( 在jQuery1.7以上被 on和off代替)
- $(selector).unbind(); //解绑所有的事件
- $(selector).unbind("click"); //解绑指定的事件
- undelegate解绑delegate事件
- $( "p" ).undelegate(); //解绑所有的delegate事件
- $( "p" ).undelegate( "click" ); //解绑所有的click事件
- off解绑on方式绑定的事件
- $( "p" ).off();
- $( "p" ).off( "click", "**" ); // 解绑所有的click事件,两个*表示所有
- $( "body" ).off( "click", "p", foo );
1 案例1:
2 var foo = function() {
3 // Code to handle some kind of event
4 };
5
6 // ... Now foo will be called whenparagraphs are clicked ...
7 $( "body" ).on("click", "p", foo );
8
9 // ... Foo will no longer be called.
10 $( "body" ).off("click", "p", foo );
11
12 案例2:(了解)解绑命名空间的方式:
13 var validate = function() {
14 // Code to validate form entries
15 };
16
17 // Delegate events under the".validator" namespace
18 $( "form" ).on("click.validator", "button", validate );
19
20 $( "form" ).on("keypress.validator", "input[type='text']", validate );
21
22 // Remove event handlers in the".validator" namespace
23 $( "form" ).off( ".validator");
触发事件
简单事件触发:$(selector).click();//触发 click事件
trigger方法触发事件:$( "#foo" ).trigger( "click" );
triggerHandler触发事件响应方法,不触发浏览器行为:$("input" ).triggerHandler( "focus" );
event对象的简介
event.data //传递的额外事件响应方法的额外参数
event.currentTarget //在事件响应方法中等同于this,当前Dom对象
event.target //事件触发源,不一定===this
event.pageX
event.pageY
event.stopPropagation() //阻止事件冒泡
e.preventDefault(); //阻止默认行为
event.type //事件类型:click,dbclick...
event.which //鼠标的按键类型:左1 中2 右3
6.数据缓存:data( )
获取值:$(“div”).data(“index”);
设置值:$(“div”).data(“index”,3);
& .data()跟.attr() 方法的区别:
1. 获取数据的时候,attr方法需要传入参数,data方法可以不传入参数,这时候获取到的是一个js对象,即使没有任何data属性。
2. 获取到的数据类型不同,attr方法获取到的数据类型是字符串(String),data方法获取到的是相应的类型。
3. data方法获取到数据之后,我们使用一个对象来接收它,那么就可以直接操作(设置值或获取值)这个对象,而attr方法不可以。并且通过这种方式,要比.data(key,value)的方式更高效!
4. data-attribute属性会在页面初始化的时候放到jQuery对象,被缓存起来,而attr方法不会。
jQuery常用语法总结笔记的更多相关文章
- jQuery官方基础教程笔记(转载)
本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...
- C#数字图像处理算法学习笔记(三)--图像几何变换
C#数字图像处理算法学习笔记(三)--图像几何变换 几何图像处理包括 图像的平移变换,镜像变换,旋转变换,伸缩变换,在这里仅以水平镜像为例,通过代码来理解其基本操作方式: 翻转前:
- C#数字图像处理算法学习笔记(二)--点运算与直方图
C#数字图像处理算法学习笔记(二)--点运算与直方图 在数字图像处理中,点运算是一种简单而重要的技术.点运算只是根据对象的像素的输入灰度值来决定像素的输出灰度值的图像处理运算.它有时也被称为对比度增强 ...
- C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法
C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法 Bitmap类:此类封装了GDI+中的一个位图,次位图有图形图像及其属性的像素数据组成.因此此类是用于处理像素数据定义的图形的对象.该类的 ...
- jquery源码学习笔记三:jQuery工厂剖析
jquery源码学习笔记二:jQuery工厂 jquery源码学习笔记一:总体结构 上两篇说过,query的核心是一个jQuery工厂.其代码如下 function( window, noGlobal ...
- 《深入PHP与jQuery开发》读书笔记——Chapter3
<深入PHP与jQuery开发>第三章学习笔记 1.PHP的魔术方法(在对象中发生某些例行事件时会自动调用这些方法) PHP提供了魔术方法__construct()(构造函数),在新对象被 ...
- 《从零开始学习jQuery》及《jQuery风暴》学习笔记
第一章 jQuery入门 1.用$()函数其实是一个事件,使用这个函数调用的方法,会在DOM加载完毕.资源文件加载完之前触发. 第二章 必须知道的JavaScript知识 1.JavaScript实际 ...
- 锋利的jquery第二版学习笔记
jquery系统学习笔记 一.初识:jquery的优势:1.轻量级(压缩后不到30KB)2.强大的选择器(支持css1.css2选择器的全部 css3的大部分 以及一些独创的 加入插件的话还可支持XP ...
- Jquery伪选择器学习笔记
对于我这个半路出家的前端,使用jquery已经很长时间了,对于选择器,一直都局限在id,class,element选择器.每次写一个元素都得想一个id,一个页面写下来想id名都想的累的慌.最近手头项目 ...
随机推荐
- 【可视化】Echarts3坐标系倒映
目标: 用echarts实现在一个echarts图表中包含上下两个坐标系 横轴合并在一块.有一种上下对称水映的视觉效果 要点提示:grid 是一个数组 包含两个grid xAxis,yAxis也都是数 ...
- Leetcode - Letter Combination Of A Phone Number
Given a digit string, return all possible letter combinations that the number could represent. A map ...
- 分享一个数据库工具DTOOLS
整理电脑的时候发现一个好的工具——DTOOLS,他是我在09年左右写的一个数据库工具. 可以干什么呢? 我罗列一下: 1.全面的展示数据库字段情况 2. 迅速切换,展示数据库记录情况,不输语句,即点即 ...
- 使用SAS和JavaScript前端上传Azure Bolb大文件
问题描述: Azure Storage Rest API提供了对于大文件分块上传方法,分别使用Put Block和Put Block List实现相关功能 参考链接: Uploading Large ...
- HTTP Components简介
基于版本4.5.x 简介 组件 HttpClient,核心组件 HC Fluent,提供了流式操作接口 HttpMime,提供文件上传时用到的一些工具类 HttpClient Cache,有待学习 H ...
- kettle使用正则表达式动态获取excel表
- 设置Linux环境变量的方法与区别(Ubuntu)
设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别. 通过文件设置 Linux 环境变量 首先是设置全局环境变量, ...
- SQL Server 2014 64位版本链接32位Oracle数据库
问题背景: 刚进入公司不久的BI新手,最近接部门的一个交接项目,需要在SQL Server上通过openquery来获取Oracle数据库的数据.各种配置,各种设置折腾了一周之久.在此,将自己的问题解 ...
- Linux平台 Oracle 12cR2 RAC安装Part2:GI配置
Linux平台 Oracle 12cR2 RAC安装Part2:GI配置 三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 ...
- Java泛型:泛型类,泛型接口和泛型方法
转自: https://segmentfault.com/a/1190000002646193 泛型的产生很多缘由是因为 容器类 的创建 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有 ...