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常用语法总结笔记的更多相关文章

  1. jQuery官方基础教程笔记(转载)

    本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...

  2. C#数字图像处理算法学习笔记(三)--图像几何变换

    C#数字图像处理算法学习笔记(三)--图像几何变换 几何图像处理包括 图像的平移变换,镜像变换,旋转变换,伸缩变换,在这里仅以水平镜像为例,通过代码来理解其基本操作方式: 翻转前:

  3. C#数字图像处理算法学习笔记(二)--点运算与直方图

    C#数字图像处理算法学习笔记(二)--点运算与直方图 在数字图像处理中,点运算是一种简单而重要的技术.点运算只是根据对象的像素的输入灰度值来决定像素的输出灰度值的图像处理运算.它有时也被称为对比度增强 ...

  4. C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法

    C#数字图像处理算法学习笔记(一)--C#图像处理的3中方法 Bitmap类:此类封装了GDI+中的一个位图,次位图有图形图像及其属性的像素数据组成.因此此类是用于处理像素数据定义的图形的对象.该类的 ...

  5. jquery源码学习笔记三:jQuery工厂剖析

    jquery源码学习笔记二:jQuery工厂 jquery源码学习笔记一:总体结构 上两篇说过,query的核心是一个jQuery工厂.其代码如下 function( window, noGlobal ...

  6. 《深入PHP与jQuery开发》读书笔记——Chapter3

    <深入PHP与jQuery开发>第三章学习笔记 1.PHP的魔术方法(在对象中发生某些例行事件时会自动调用这些方法) PHP提供了魔术方法__construct()(构造函数),在新对象被 ...

  7. 《从零开始学习jQuery》及《jQuery风暴》学习笔记

    第一章 jQuery入门 1.用$()函数其实是一个事件,使用这个函数调用的方法,会在DOM加载完毕.资源文件加载完之前触发. 第二章 必须知道的JavaScript知识 1.JavaScript实际 ...

  8. 锋利的jquery第二版学习笔记

    jquery系统学习笔记 一.初识:jquery的优势:1.轻量级(压缩后不到30KB)2.强大的选择器(支持css1.css2选择器的全部 css3的大部分 以及一些独创的 加入插件的话还可支持XP ...

  9. Jquery伪选择器学习笔记

    对于我这个半路出家的前端,使用jquery已经很长时间了,对于选择器,一直都局限在id,class,element选择器.每次写一个元素都得想一个id,一个页面写下来想id名都想的累的慌.最近手头项目 ...

随机推荐

  1. Angular企业级开发(10)-Smart Table插件开发

    1.Smart Table内置的分页功能 Smart Table是基于AngularJS模块特性开发出来的一款优秀的表格组件,默认就支持过滤.排序等核心功能.开发者基于它也可以开发插件,满足个性化需求 ...

  2. Go语言循环判断的使用~

    Go 语言条件语句 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 下图展示了程序语言中条件语句的结 ...

  3. jsp中一些重要的问题

    jsp [1] 简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅长显 ...

  4. 弹性伸缩布局-flex

    弹性伸缩布局-flex 引言:本文主要参照阮一峰的网络日志 .郭锦荣的博客总结完成. 正文: 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性 ...

  5. 怎样给Win7系统设置一个默认的浏览器

    怎样给Win7系统设置一个默认的浏览器.. --------------- 点击桌面左下角「windows图标」,再点击「控制面板」,如图: 点击「程序」,如图: 点击「设置默认程序」,如图: 等到「 ...

  6. 使用 qemu 搭建内核开发环境

    本文主要介绍在 MacOS 上使用 qemu 搭建 Linux Kernel 的开发环境.(在开始之前需要注意的是,本文中的 Linux 开发环境是一个远程服务器,而 qemu 被安装在本地的 Mac ...

  7. css控制竖直文字显示

    假如有一天,你把水平文字看腻味了...... 我建议你不妨试试垂直文字显示,就像这样: 我 是 竖 直 显 示 的 : 哈哈! 言归正传,怎么把一段话,垂直显示呢? 方法1: //把下面代码另存为ht ...

  8. 实战案例--TEMPDB暴涨

    前言   tempdb暴增,造成磁盘空间不足,甚至影响业务运行.     正文   如图,tempdb log文件从7.40开始突然暴涨,因为 tempdb 0 M到 40G     tempdb 所 ...

  9. 使用 PUTTY 操作 Google Cloud

    目的: 使用putty连接Google Cloud 实例. 总说: 首先要用  PuTTYgen生成 private key  和 public key, 之后 登录Google Cloud 将生成的 ...

  10. 对Java的数据类型和运算符的理解

    我知道千里之行始于足下,包含着对编程的兴趣,希望能够在这个平台上记录下我学习过程中的点点滴滴! Java的基本构造 标识符和关键字 标识符规则 标识符就是用于给程序中变量,类.方法命名的符号 1.标识 ...