一、认识jQuery

1.什么是jQuery

jQuery是对原生JavaScript二次封装的工具函数集合

jQuery是一个简洁高效的且功能丰富的JavaScript工具库

2.jQuery的优势

完全开源的源代码

强大简洁的选择器

事件、样式、动画的良好支撑

链式表达式

简化的Ajax操作

跨浏览器兼容

丰富的插件及对外的扩展接口

二、jQuery的安装

1、版本

  • 开发(development)版本:jQuery-x.x.x.js

  • 生产(production)版本:jQuery-x.x.x.min.js

2、安装jQuery-3.3.1

官网下载

  1. <scriptsrc="js/jquery-3.3.1.js"></script>
  2. <scriptsrc="js/jquery-3.3.1.min.js"></script>
  3. <script>
  4. // user code
  5. </script>

CDN

  1. <scriptsrc="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
  2. <scriptsrc="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
  3. <script>
  4. // user code
  5. </script>

三、jQuery基本使用

1.引入jq

本地

  1. <!-- 下载jq到本地 -->
  2. <script src="js/jquery-3.3.1.js"></script>

CDN

  1. <!-- jq CDN 地址 -->
  2. <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>

2.JQ对象

  1. // jQuery:具有jq框架规定的所有功能的调用者,也就是框架产生的唯一对象
  2. // $本质上就是jQuery对象,开源通过 var JQ = jQuery.noConflict();来自定义jQuery对象

3.延迟加载

  1. // jq的延迟加载:文档树加载完毕,即回调
  2. $(document).ready(function){})
  3. // 1. 早于window.onload
  4. // 2. 可以多次绑定事件
  5. // 3.可以简写为$(function(){})

4.jq操作

选择器

  1. // $(css选择器语法)
  2. // eg:$('.box')得到的是一个存放原生js对象的数组,就是jq对象,页面中有多少个.box,该对象就承载者多少个对象,.可以作为一个整体来使用

对象间转换

  1. // js对象:box jq对象:$box
  2. // 将js对象转换为jq对象: $(box)
  3. // 将js对象转换为Jq对象: $(box[index]

文本操作

  1. // 获取原有文本
  2. $box.text() | $box.html()
  3. // 设置新文本
  4. $box.text('newData') | $box.html('<b>newData</b>')

事件绑定

  1. // $box 为jq对象
  2. $ box.click(function(ev){
  3.  
  4. })
  5. // 注: jq对象如果包含多个页面元素对象, 可以一次性对所有对象绑定该事件
  6. // ev事件为jq事件, 兼容js事件
  7. // this为js对象, $(this)就转换为jq对象
  8. // 内部可以通过$(this).index()获取自身在当前结构下的索引(从0开始)

类名操作

  1. $box.addClass("newClass") // 添加一个新类名
  2. $box.removeClass("oldClass")// 删除一个已有的类名
  3. // 多类名时,jq操作类名将每个类名最为单一考虑对象,不会影响其他类名

样式操作

  1. $box.css('background-color') // 获取背景颜色
  2. $box.css('background-color','red') // 删除一个已有的类名
  3. /$box.css('background-color', function() {return 'yellow'}) // 通过函数返回值设置背景颜色

文档结构关系

  1. // 父
  2. $sup.parents()
  3. // 父.父的父
  4. $ sup.parents()
  5. // 子们
  6. $ sup.children()
  7. // 上兄弟
  8. $sup.prev()
  9. // 上兄弟们
  10. $sup.prevAll()
  11. // 下兄弟
  12. $sup.next()
  13. // 同级的兄弟们
  14. $sup.siblings()
  15.  
  16. // 获得的结果的事对象,还可以接着使用jq方法

二.高级

一、选择器

css语法选择器

  1. $('css3 选择器位‘)

索引匹配

  1. $('div:eq(0)')
  2. $('div').eq(0)

内容

  1. $('div:contains(标签文本内容)')
  2. // 注:采用模糊匹配

2.属性操作

文本

  1. // 赋值:有参数
  2. $('.box').html('<I>beat box</I>');
  3. // 取值:无参数
  4. console.log($('.box')text());
  5. // 表单内容
  6. // $('.inp').val('input 内容 为 value');
  7. console.log($('.inp').val());

属性

  1. // 取
  2. console.log($('img').attr('alt'));
  3. // 设
  4. $('img').attr('src',
  5. ''https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1611571505,2177664062&fm=26&gp=0.jpg')
  6. // 增
  7. $('img').attr('abc',function(){
  8. return "ABC";
  9. })

类名

  1. $(this).addClass('active'); // 添加
  2. $(this).removeClass('box'); // 删除
  3. // 如果有active 删除,反之添加
  4. $(this).toggleClass('active'); //切换

3.css样式设置

  1. // 取值
  2. console.log($('.box').css('font-size'));
  3.  
  4. // 设值
  5. $('.box').css('color','deeppink') //单一属性设值
  6. .css{ //设置多个属性值
  7. // 1.及时给css()函数赋值一个js对象
  8. // 2.key为字符串类型,可以省略“”,前提要使用js语法,小驼峰命名
  9. // 3.属性值为数值+单位方式,可以省略单位,尽量全部用字符串数据赋值
  10. width:'300px',
  11. 'height':300,
  12. 'background-color:'cyan',
  13. borderRadius:'30px'
  14. })
  15. .css('width', function(index, oldWidth) { // 逻辑单一属性设值
  16. if (index == 0) {
  17. // 延迟1s
  18. // var b_time = new Date().getTime();
  19. // while (new Date().getTime() - b_time < 1000){}
  20. return 1.5 * parseInt(oldWidth);
  21. }
  22. return oldWidth;
  23. })

4事件

绑定方式

  1. // 第一种 on
  2. // 四个参数:事件名,派遣的子级别,{key-value传入的数据}
  3. $('.box').on('click','span',{name:'hehe'},function(ev){})
  4.  
  5. // 第二种
  6. // 两个参数:{key-value传入的数据}, 事件回调函数
  7. $('.box').click({name:'hehe'},function(ev){})

事件对象

  1. // 为jq事件对象,兼容js事件对象
  2. // 坐标:ev.clientX | ev.clientY
  3. // 按键:ev.keyCode
  4. // 数据:ev.date.key名 =》eg:ev.data.name

冒泡与默认动作

  1. // 冒泡:ev.stopPropagation();
  2. // 默认动作:ev.preventDefault():

委派

  1. $('.box').on('click','span',{name:'hehe'},function(ev){})
  2. // 注:通过父级box来绑定点击事件,其实将事件委派给其子级span标签

5.东湖

系统东湖

  1. // time_num: 动画持续的时间
  2. // finish_fn: 动画结束后的回调函数
  3.  
  4. // 1. hide(time_num, finish_fn) | show(time_num, finish_fn) | toggle(time_num, finish_fn)
  5. // 2. slideUp() | slideDown() | slideToggle() 参数同上
  6. // 3.fadeOut() | fadeIn() | fadeTo() | fadeToggle() 参数同上

自定义动画

  1. // 参数: 做动画的样式们 {}, 动画持续时间, 运动曲线, 动画结束后的回调函数
  2. animate({
  3. width: 300,
  4. height: 500
  5. }, 300, 'linear', function() {
  6. // 动画结束后回调
  7. })
  8. // 动画本体采用的是css动画

JQ初级的更多相关文章

  1. day57

    JQ初级 一.认识jQuery 1.什么是jQuery jQuery是对原生JavaScript二次封装的工具函数集合 jQuery是一个简洁高效的且功能丰富的JavaScript工具库 2.jQue ...

  2. JavaScript初级面试题

    前面几题是会很基础,越下越有深度. 初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型: ...

  3. JQ笔记-加强版

    Query初级   一.介绍.基本写法   什么是JQ: 一个优秀的JS库,大型开发必备 JQ的好处: 简化JS的复杂操作 不再需要关心兼容性 提供大量实用方法 如何学习JQ: www.jquery. ...

  4. jq选择器基础

    Jquery $代表选择器 使用jq必须要导入jq文件 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&qu ...

  5. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  6. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  7. JQ实现判断iPhone、Android设备

    最近做了一版微信宣传页,通过JQ来判断设备,并进行下载 微信内置浏览器对下载链接进行了屏蔽,所以先进行判断,如果是微信内置浏览器,则跳转应用宝链接,如果不是,则判断是iPhone/Adroid/PC ...

  8. python 高级之面向对象初级

    python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...

  9. jq.validate隐藏元素忽略验证

    jq.validate隐藏元素忽略验证 现在有这样一个需求,当触发某类事件时候,需要在页面中显示input框,但是当不需要加载页面中的元素时候,进行隐藏.在这个需求的前提下,程序中对于input中的输 ...

随机推荐

  1. jQuery 父iframe与子iframe 相互调用传值

    来自:https://blog.csdn.net/wd4871/article/details/50517597 侵删 父页面中的iframe :如下 <iframe name="su ...

  2. arcgis api 3.x for js 入门开发系列十三地图最短路径分析(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  3. 怎么使用Fiddler进行抓包

    启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框.      在Fiddler Options”对话框切换到“Co ...

  4. Android为TV端助力 进制互相转换

    byte转换为16进制 public static String GetByte2Str(byte b) { byte[] buff = new byte[2]; buff[0] = mHex[(b ...

  5. asp.net core根据用户权限控制页面元素的显示

    asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...

  6. Python使用Plotly绘图工具,绘制柱状图

    使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单 ...

  7. Linux Logwatch的学习总结

    Logwatch功能介绍 Logwatch是一款Perl脚本编写的.开源的日志分析工具.它能对原始的日志文件进行解析并转换成结构化格式的文档,也能根据您的使用情况和需求来定制报告.Logwatch的特 ...

  8. js学习之路3: 数据类型

    1. 字符串: <!DOCTYPE html> <html> <body> <script> var apple = "苹果"; v ...

  9. 【English】20190321

    Keep in mind记住[kip ɪn maɪnd]  maintenance维护[ˈmentənəns] Also Keep in mind that table maintenance use ...

  10. 深入Ambari Metrics 机制分析

    0.简介 Ambari作为一款针对大数据平台的运维管理工具,提供了集群的创建,管理,监控,升级等多项功能,目前在业界已经得到广泛使用. Ambari指标系统( Ambari Metrics Syste ...