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. js中作用域链和作用域

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

  2. Angular进阶教程一

    6 AngularJS进阶 6.1数据绑定原理研究 Angular用户都想知道数据绑定是怎么实现的.你可能会看到各种各样的词汇:$watch.$apply.$digest.dirty-checking ...

  3. TensorFlow-卷积

    卷积: conv2d ( input,  filter,  strides, padding, use_cudnn_on_gpu=True,  data_format='NHWC',  name=No ...

  4. 强化学习系列之:Deep Q Network (DQN)

    文章目录 [隐藏] 1. 强化学习和深度学习结合 2. Deep Q Network (DQN) 算法 3. 后续发展 3.1 Double DQN 3.2 Prioritized Replay 3. ...

  5. 在SQL service或Oracle中将数字转换成有千位符号

    1.在SQL service中的写法: --Function主体 CREATE FUNCTION [dbo].[FnMoneyStyle](@Number )) RETURNS VARCHAR() A ...

  6. 类型“Microsoft.Office.Interop.Word.ApplicationClass”错误 4317 无法嵌入互操作类型

    类型“Microsoft.Office.Interop.Word.ApplicationClass”错误 4317 无法嵌入互操作类型“Microsoft.Office.Interop.Word.Ap ...

  7. [翻译] EAColourfulProgressView

    EAColourfulProgressView 效果: EAColourfulProgressView is a custom progress view where the current fill ...

  8. CSMA/CD 续

    重要特性 以太网不能进行全双工通信而只能进行双向交替通信(半双工通信).每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性. 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率 ...

  9. 最新php环境搭建,2017年最新PHP环境搭建

    使用PHPWAMP8.8.8.8IN纯绿色集成环境搭建php网站很方便,哪怕你系统没安装vc.系统dll丢失或者损坏的时候,phpwamp也可以正常启动,是个很强大的php套件. php环境搭建,支持 ...

  10. Android SDK 墙内更新方法

    1.访问地址:http://ping.chinaz.com/,在网站测速处输入g.cn执行查看分析,如下图所示 2.在分析列表中找到速度最快的IP复制进行设置SDK代理并设置端口为80,并勾选Forc ...