文章目录

  • 前端类库之jQuery
    • jQuery简介
    • jQuery内容目录
    • jQuery对象
    • jQuery基本语法
      • 查找标签
        • 基本选择器
        • 层级选择器
        • 基本筛选器
        • 属性选择器
        • 表单筛选器
        • 筛选器方法
        • 节点操作
        • 位置操作
      • 事件
        • 常用事件
        • 事件冒泡
        • 等待页面加载
        • 事件委托
      • 动画效果

前端类库之jQuery

jQuery简介

  1. jQuery是一个轻量级的、兼容多浏览器的JavaScript库,主要功能是能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程

  2. 内部封装了js代码 ,能使编程更加简单并且兼容所有的主流浏览器

  3. 拥有三个版本 1.X 2.X 3.X

  4. 使用前需要提前导入

    • 导入方式有两种,一是下载到本地导入(不受网络影响),二是CDN导入(依赖网络,也是用的最多的方式)
  5. 基本使用

    使用jQuery时需要关键字声明: jQuery() 或者 $()

补充: 什么是CDN

CDN指内容分发网络,简单点说就是将一些静态资源(html文档,图片等)放在各地服务器上,加载时就近获取资源,能够有效的提升网页用户访问响应速度和命中率

免费jQueryCDN(推荐使用3.4.1版本)

jQuery内容目录

  1. 选择器
  2. 筛选器
  3. 样式操作
  4. 文本操作
  5. 属性操作
  6. 文档处理
  7. 事件
  8. 动画效果
  9. 插件
  10. each、data、Ajax

下载链接:jQuery官网

中文文档:jQuery AP中文文档

jQuery对象

jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法。虽然 jQuery对象是包装 DOM对象后产生的,但是 jQuery对象无法使用 DOM对象的任何方法,同理 DOM对象也没不能使用 jQuery里的方法。

jQuery对象和js对象互相转换jQuery对象 = $(js对象)js对象 = jQuery对象[index]

jQuery基本语法

$(selector).action()

查找标签

基本选择器

  • 这里将jQuery与原生js的DOM做对比,可以看出jQuery语法简洁了很多,并且功能更加强大
选择器 jQuery DOM
id 选择器 $("#id") document.getElementById(“id”)
标签选择器 $(“tagName”) document.getElementsByTagName(“tagName”)
class选择器 $(".className") document.getElementsByClassName(“classname”)
配合使用 $(“div.c1”) // 找到有c1 class类的div标签
所有元素选择器 $("*")
组合选择器: $("#id, .className, tagName")

层级选择器

x和y可以为任意选择器

$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y

基本筛选器

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

例子:

$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签

属性选择器

$('[name]')
$('[name="jason"]')
$('input[name!="jason"]')

表单筛选器

:text   $(':text')  // 查找属性值是text的form表单内的标签
:password:file
:radio
:checkbox       $(':checked')  // 会连同option默认的selected一起找到,特例
:submit
:reset
:button

筛选器方法

/* 使用原生js代码批量查找到标签之后  结果是一个数组
需要索引取值之后才可以调用标签的一些方法使用jQuery代码批量查找到标签之后 结果是一个jQuery对象(像数组)
不需要索引取值 就可以直接调用封装的方法 */下一个元素:$("#id").next()$("#id").nextAll()  $("#id").nextUntil("#i2")  // 到id值为i2的停止上一个元素:$("#id").prev()$("#id").prevAll()$("#id").prevUntil("#i2")父亲元素$("#id").parent()$("#id").parents()  // 查找当前元素的所有的父辈元素$("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。儿子和兄弟元素$("#id").children();// 儿子们$("#id").siblings();// 兄弟们

节点操作

# 样式类操作addClass();       // 添加指定的CSS类名。   classList.add()removeClass();  // 移除指定的CSS类名。   classList.remove()hasClass();      // 判断样式存不存在      classList.contains()toggleClass(); // 切换CSS类名,如果有就移除,如果没有就添加。 classList.toggle()# 样式操作css('属性名','属性值')  //DOM操作:tag.style.color="red"# 文本操作text()  # innerTexthtml()  # innerHTMLval()   # valuejQuery对象先转js对象之后.files // 括号内不写参数就是获取值,写参数就是设置值# 属性操作attr()   # setAttribute + getAttributeprop()attr('属性名')  获取属性值attr('属性名','属性值')  设置属性
// 对于标签上有的能看到的属性和自定义属性都用attr
// 对于返回布尔值的如checkbox、radio和option的是否被选中都用prop# 文档处理append()   // 内部的尾部追加元素prepend()  // 内部的头部追加元素after()    // 同级别下面添加元素before()   // 同级别上面添加元素remove()   // 移除当前元素empty()   // 清空当前元素内部所有的数据clone()   // 克隆标签 括号内可以加布尔值来明确是否克隆事件

位置操作

offset() // 获取匹配元素在当前窗口的相对偏移或设置元素位置
position()  // 获取匹配元素相对父元素的偏移
scrollTop() // 获取匹配元素相对滚动条顶部的偏移
scrollLeft()// 获取匹配元素相对滚动条左侧的偏移

事件

  • 绑定事件的两种方式
方式1:jQuery对象.事件名(function(){})$('#d1').click(function(){alert(123)})
方式2:jQuery.on('事件名',function(){})$('#d1').on('click',function(){alert(123)})# 移除事件 .off 格式同 .on
# 阻止后续事件执行
$('#d1').click(function (e) {alert(123)//  方式1   推荐// return false//  方式2   了解  e 是自带形参// e.preventDefault()})

常用事件

click(function(){...})
hover(function(){...})
blur(function(){...})
focus(function(){...})
change(function(){...})
keyup(function(){...})

事件冒泡

事件冒泡指: 当用户点击span标签时,会依次触发span,p和div所绑定的事件

<div>div<p>p<span>span</span></p>
</div><script >$('div').click(function () {alert('div')})$('p').click(function () {alert('p')})$('span').click(function () {alert('span')})
</script>
  • 组织事件冒泡的方法有两种
1. 是在事件结尾加上 return false  // 推荐
2. 是在事件结尾加上 e.stopPropagation()

等待页面加载

// 原生js文档加载方式
window.onload = function () {}
// jQuery文档加载方式01
$(document).ready(function () {})
// jQuery文档加载方式02
$(function(){})区别:window.onload()函数有覆盖现象,必须等待着图片资源加载完成之后才能调用jQuery的这个入口函数没有函数覆盖现象,文档加载完成之后就可以调用(建议使用此函数)

事件委托

  • 事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件。
<button>点我</button><script >$('body').on('click','button', function () {// 创建一个button标签var btnELe = document.createElement('button')// 设置内部文本btnELe.innerText = '点我'// 将button标签添加到body内部$('body').append(btnELe)})
</script>

动画效果

// 基本
show([s,[e],[fn]])
hide([s,[e],[fn]])
toggle([s],[e],[fn])
// 滑动
slideDown([s],[e],[fn])
slideUp([s,[e],[fn]])
slideToggle([s],[e],[fn])
// 淡入淡出
fadeIn([s],[e],[fn])
fadeOut([s],[e],[fn])
fadeTo([[s],o,[e],[fn]])
fadeToggle([s,[e],[fn]])
// 自定义(了解即可)
animate(p,[s],[e],[fn])

--------------------------未完待续---------------------------------------------------

前端类库之jQuery相关推荐

  1. 前端工程师之jquery实战案例大集合-彭亮-专题视频课程

    前端工程师之jquery实战案例大集合-17028人已学习 课程介绍         详细介绍了一个js类库的实战应用,这里主要讲解jquery.是一个可以很容易就做各种网页特效的面相对象的方法函数集 ...

  2. JavaWeb开发 前端语言:jQuery(一) jQuery核心函数、jQuery对象、jQuery选择器、以及jQuery元素筛选

    JavaWeb开发 前端语言:jQuery 1.jQuery介绍 1.1 jQuery的初使用 1.2 使用jQuery的常用问题解析 2. jQuery核心函数介绍 3.区分jQuery对象与dom ...

  3. 超全超实用的Javascript类库和jQuery插件大全之一:图片,地图和图形

    为什么80%的码农都做不了架构师?>>>    日期:2012-10-10  来源:GBin1.com 如果你需要解决一些开发中遇到的技术问题的话,很可能会找到一些相关的javasc ...

  4. 在C#后端处理一些结果然传给前端Javascript或是jQuery

    在C#后端处理一些结果然传给前端Javascript或是jQuery,以前Insus.NET有做过一个例子<把CS值传给JS使用 >http://www.cnblogs.com/insus ...

  5. 超全超实用的Javascript类库和jQuery插件大全之二:文字处理,表格和列表处理,实用......

    为什么80%的码农都做不了架构师?>>>    日期:2012-10-15  来源:GBin1.com 如果你需要解决一些开发中遇到的技术问题的话,很可能会找到一些相关的javasc ...

  6. 网站建设中前端常用的jQuery+easing缓动的动画

    网站建设中前端人员利用jQuery实现动画再简单不过了,只是要实现更酷的效果还需要插件来帮忙,easing就是一款帮助jQuery实现缓动动画的插件,经过试用,效果很不错! 下载该插件:jquery. ...

  7. 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记

    <疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...

  8. 锋利的js前端分页之jQuery

    原文:锋利的js前端分页之jQuery 大家在作分页时,多数是在后台返回一个导航条的html字符串,其实在前端用js也很好实现. 调用pager方法,输入参数,会返回一个导航条的html字符串.方法的 ...

  9. 前端学习:jQuery学习--Day03

    前端学习:jQuery学习–Day03 ps:这几天偷了点懒呜呜外加考试耽误了几天学习 最后自己做了一个给女朋友的惊喜点滴记录note 大纲 自定义事件 自动触发 事件委托 鼠标移入移出事件 电影排行 ...

最新文章

  1. Jsp页面中使用fckeditor控件的两种方法
  2. DirectX 视口学习
  3. keras从入门到放弃(二十二)一维卷积处理 RNN文本分类
  4. php 复制文件夹并压缩到最小_php与语音识别功能如何对接
  5. SAP Spartacus org unit list点击item之后的页面跳转实现
  6. 《子弹笔记术》[日]杉野干人(作者)epub+mobi+azw3格式下载
  7. mysql时间函数总结_MySQL 日期时间函数常用总结
  8. 亚洲食品市场挑战:了解亚洲新消费群体
  9. 【Linux】linux ln文件夹的链接(转)
  10. 给你多少钱,你才会愿意为国家生孩子?
  11. 线性筛法--------2013年1月2日
  12. 学习Javascript闭包(Closure)(转载+理解心得)
  13. vCheck 5.0
  14. MinGW编译windows可以调试的ffmpeg4.4
  15. “2022绿色智能制造创赢计划”全新集结:加入这个朋友圈,成为未来主角
  16. 超级表格pk王者农药,今天你五杀了么?
  17. obj文件格式学习(自用)
  18. AD7606数据转换
  19. 2019,向着迷茫的远方前行
  20. GMAN: A Graph Multi-Attention Network for Traffic Prediction(2020AAAI)

热门文章

  1. 海王星股票交易软件测试自学,怎样使用海王星选股器
  2. 计算机基础应用寒假作业,计算机应用基础理论试题寒假作业.doc
  3. 【Code】代码答案错误怎么办?三种方法教你如何查错
  4. 学习中如何建立自己的资源库?
  5. 流畅的Python学习
  6. 【TED】How to get better at the things you care about?
  7. 【解决】Menu XXX/XXX/XXX can‘t be checked because doesn‘t exist
  8. 有意思的程序员老黄历
  9. html超链接1003无标题,爱特漫画1003无标题
  10. java怎么让a取随机_数字连连看的java代码怎么把随机数改成字母啊ba title=个人悬赏 href=javascript:;20C/a/b...