jQuery伴随前端走过一段辉煌的时光,虽然现在已经慢慢的走下顶峰,但是过去的很多项目都是用jQuery写的,它的一些封装思想也非常值得借鉴,懂得jQuery是前端必不可少的.

jQuery顶级对象

DOM顶级对象是document

BOM的顶级对象是window

而jQuery的顶级对象是$

凡是对象都要用$()包装起来

jQuery调用的习惯是使用点语法和小括号结合的方式.

页面加载事件

$(window).load(function(){
//该方法要等页面内容全部加载完
})
$(document).ready(function(){
//该方法等标签加完,略快一点
})
$(function(){
//等同第二种方式
})

引入jQuery注意事项

  1. jQuery当前最高版本不兼容IE的低版本
  2. 在引入开发的时候一般使用普通版本,打包上线的时候使用压缩版本.

DOM对象和jQuery对象互转

注意点:双方不能使用对方的方法

jQuery对象 ===> DOM对象

  1. $("#id")[0]
  2. $("#id").get(0)

jQuery实操

选择器

  • 标签选择器

    $("标签名")
  • 类选择器

    $(".类名")
  • ID选择器

    $("#ID名")
  • 类+标签

    $("标签名.类名")//交集选择器
  • 多条件选择器

    $(",")//和css并集一样,可以多个,用','号隔开.
  • 层次选择器

    $("div  p")//后代选择器一样
    $("div>p")//子代选择器
    $("div+p")//获取后面第一个兄弟元素
    $("div~p")//获取后面所有的兄弟元素
  • 其他

    $("ul>li:even")//选择偶数的标签
    $("ul>li:odd")//选择奇数的标签
    $("ul>li:eq(4)")//选择索引为4的标签
    $("ul>li:gt(4)")//选择索引大于4的标签
    $("ul>li:lt(4)")//选择索引小于4的标签

常见方法

.text()//相当于innerText.
.val() //如果不写参数,则是获取值,写就是设置值,就是元素的value属性.
.css()//该方法如果只写一个属性,就只写两个参数.如果是多个属性,就用键值对表示.
.siblings()//当前标签的所有兄弟元素
.next()//当前元素的下一个兄弟元素
.nextAll()//当前元素后面的所有兄弟元素
.prev()//当前元素的上一个兄弟元素
.prevAll()//当前元素的前面的所有的兄弟元素

元素样式设置

//通过这种方式来设置样式
$("#ul>li").css("backgroundColor","red")
//设置类样式
.hasClass("类名")//是否有调用该类
.addClass("类名")//不需要加"."
.removeClass("类名")//如果都不写,则移除全部类
.toggleClass("类名")//自动切换,无则调用,有则移除

链式编程

链上的每一次调用必须返回一个对象才能继续后面的调用.

jQuery动画

.hide()//隐藏,第一个参数可以是毫秒,字符串("slow","normal","fast")
.show()//显示,第一个参数可以是毫秒,字符串("slow","normal","fast")
//还可以用arguments.callee作为第二个参数,类似递归的效果. .slideUp();//上滑
.slideDown()//下滑
.slidetoggle()//自动上下滑动
//这几个可以写参数,也是毫秒 .fadeIn()//淡入
.fadeOut()//淡出
.fadeToggle()//自动切换
//这几个可以写参数,也是毫秒
.fadeTo(毫秒数,透明度) .animate()//第一个参数键值对修改,第二个参数是时间(毫秒值),第三个参数是回调函数
.top()停止动画效果

jQuery应用

动态创建元素

//1.
$("标签的代码") ==> $("<p>hhh</p>")
//2.
对象.html("标签的代码")

添加元素

对象.append(元素)//$("#d").append($("<p></p>"))把元素添加到元素中
对象.prepend(元素)//把元素插入到当前元素前面
对象.after(元素)//把元素插入到当前元素的后面
对象.before(元素)//把元素添加当前元素的前面
元素.appendTo()//主动添加到元素中

移除内容

$(元素).html("")//清空元素中内容
$(元素).empty()//清空元素中内容
$(元素).remove();//将自身全部移除

克隆元素

$(元素).clone()//复制元素

自定义属性和值

//如果只写了参数,没写参数值,则是认为在获取参数值.
对象.attr("参数一","参数值")

偏离

$().offset(参数)

元素绑定事件

//鼠标进入
$().mouseover()
//鼠标离开
$().mouseout()
//点击事件
$().click()
//绑定事件
$().bind()
//绑定事件,三个参数,绑定的元素,绑定事件,匿名函数
$().delegate()
//绑定事件,三个参数,事件类型,子级元素,事件处理函数
$().on()
//解绑事件,参数为事件类型
$().off()
$().unbind()

触发事件

//1.
$().click();
//2.
$().trigger("事件类型")
//3.
$().triggerHandler("事件类型")

Web | jQuery快速上手的更多相关文章

  1. Web | Webpack快速上手

    概述 Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 一般我们在开发中都是使用终端去进行安装,使用npm,关于npm ...

  2. 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  3. 简明易懂,将细节隐藏,面向新手树立web开发概念——学完Java基础语法,超快速上手springboot+mybatiJavaWeb开发

    简明易懂,将细节隐藏,面向新手树立web开发概念 --学完Java基础语法,超快速上手JavaWeb开发 Web本质(先忽视各种协议) Web应用可以理解为浏览器和服务器之间的交互. 我们可以看一个简 ...

  4. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)

       (目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Start ...

  5. .NET 跨平台RPC框架DotNettyRPC Web后台快速开发框架(.NET Core) EasyWcf------无需配置,无需引用,动态绑定,轻松使用 C# .NET 0配置使用Wcf(半成品) C# .NET Socket 简单实用框架 C# .NET 0命令行安装Windows服务程序

    .NET 跨平台RPC框架DotNettyRPC   DotNettyRPC 1.简介 DotNettyRPC是一个基于DotNetty的跨平台RPC框架,支持.NET45以及.NET Standar ...

  6. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  7. 快速上手seajs——简单易用Seajs

    快速上手seajs——简单易用Seajs   原文  http://www.cnblogs.com/xjchenhao/p/4021775.html 主题 SeaJS 简易手册 http://yslo ...

  8. NHibernate3快速上手教程FluentNHibernate配置与DBHelper

    很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...

  9. Rancher 快速上手指南操作(1)

    Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...

随机推荐

  1. 基于 JWT-Auth 实现 API 验证

    基于 JWT-Auth 实现 API 验证 如果想要了解其生成Token的算法原理,请自行查阅相关资料 需要提及的几点: 使用session存在的问题: session和cookie是为了解决http ...

  2. PHP实用系统函数之数组篇

    PHP中十分实用的系统函数 array array_merge 说明:array  array_merge ( array $array1 [, array $... ] ) 将一个或多个数组的单元合 ...

  3. js中作用域链和作用域

    作用域 在JavaScript中,我们可以将作用域定义为一套规则,这套规则用来管理引擎如何在当前作用域以及嵌套的子作用域中根据标识符名称(变量名或者函数名)进行变量查找. 经过研究<高级程序设计 ...

  4. 解析json结构绘制canvas

    在工作中偶尔会遇到绘制转发卡/邀请卡的业务,且这个转发卡/邀请卡的风格会有很多,要求最后生成图片.这时候如果使用一张图片绘制一个canvas,这个工作量会相当大.分析一下转发邀请的内容,会发现所有的里 ...

  5. Java中int与Integer的区别

    转自https://www.cnblogs.com/guodongdidi/p/6953217.html import java.lang.Integer; public class intDemo{ ...

  6. 空间分析开源库GEOS

    History of GEOS GEOS中Geometry的结构 GEOS分析功能简介 1.History of GEOS J​T​S​ ​T​o​p​o​l​o​g​y​ ​S​u​i​t​e是Ma ...

  7. Android的第一个程序

    摘要:对于安卓的历史和安卓需要学习哪些东西以及怎么安卓环境,我就不在这里多说了,网上一大推. 我这里主要说的就是代码.一些基础的安卓知识.在接下来的每个月里我都会不定期写一些博客给初学者学习,我会尽量 ...

  8. Java 之集合框架 上(9)

    Java 中的集合框架 如果一个类中存在很多相同类型的属性. 例如:学生类 学生可以选课,因此存在很多课程类型的属性.但是每个学生选择的课程的种类和数量是不一样的. 如果将每一个课程类型的属性都列到课 ...

  9. 一次线上bug引起的反思

    今天线上又出现了一个bug,而且代码是我写的.之前这个问题也出现过,不过由于每次情况都不同,改来改去总是改不完.之后领导知道后也很恼火,让测试把每种情况都测试了下,而我也又一次重新检查了下代码.当时确 ...

  10. MyBatis基本配置和实践(五)

    第一步:创建一个Maven工程 第二步:编辑Maven工程的pom.xml,引入mybatis-generator-maven-plugin <?xml version="1.0&qu ...