jQuery第一天

课程回顾:

​ 正则:匹配字符组合模式;

​ 创建:var reg1 = new RegExp(/abc/); var reg2 = /abc/;

​ 测试:reg1.test(‘abc’);

​ 特殊字符:元字符

​ 边界符:^,$

​ 字符类:[多选一]

​ 量词符:*,+,?,{n},{n,},{n,m}

​ 修饰符:str.replace(/b/gi, ‘字符串’);

jQuery初步

今日基础目标

能够说出什么是 jQuery

能够说出 jQuery 的优点

能够简单使用 jQuery

能够说出 DOM 对象和 jQuery 对象的区别

jQuery 选择器

jQuery 样式操作

jQuery概念:

jQuery 是一个快速、简洁的 JavaScript 库

​ JavaScript库:即 library,是一个封装好的特定的集合(方法和函数)。

​ 学习jQuery本质: 就是学习调用这些函数(方法)。【对象.方法()】

简单理解: 就是一个JS 文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。其设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。j 就是 JavaScript;   Query 查询; 意思就是查询js,把js中的DOM操作做了封装,我们可以快速的查询使用里面的功能。别人写好的JS库,我们拿过来用

JavaScript

jQuery

Prototype

YUI

Dojo

Ext JS

l移动端的zepto

这些库都是

对原生 JavaScript 的封装,内部都是用JavaScript 实现的,我们主要学习的是 jQuery。

jQuery 的优点

轻量级。核心文件才几十kb,不会影响页面加载速度

链式编程、隐式迭代=

对事跨浏览器兼容。基本兼容了现在主流的浏览器

样式、动画支持,大大简化了DOM操作

支持插件扩展开发。有着丰富的第三方的插件,例如:树形菜单、日期控件、轮播图等

免费、开源

jQuery 的下载

官网地址: https://jquery.com/


版本:

1x :兼容 IE 678 等低版本浏览器, 官网不再更新

2x :不兼容 IE 678 等低版本浏览器, 官网不再更新

3x :不兼容 IE 678 等低版本浏览器, 是官方主要更新维护的

其他版本:https://code.jquery.com/

jQuery 的使用步骤

  1. 下载jQuery
  2. 引入 jQuery 文件
  3. 使用即可

jQuery入门

jQuery 的入口函数

第一种:

$(function () {   ...  // 此处是页面 DOM 加载完成的入口}) ;

第二种:

$(document).ready(function(){...  //  此处是页面DOM加载完成的入口
}); 

注意点:

等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。

不同于原生 js 中的 load 事件是等页面文档、外部的js 文件、css文件、图片加载完毕才执行内部代码。

更推荐使用第一种方式。

jQuery 的基本使用

jQuery 的顶级对象 $

1.$ 是 jQuery 的别称,在代码中可以使用 jQuery 代替 $,但一般为了方便,通常都直接使用 $ 。

2.$ 是jQuery 的顶级对象, 相当于原生JavaScript中的 window。把元素利用$包装成jQuery对象,就可以调用jQuery 的方法。

jQuery 对象和 DOM 对象

$('div').css('属性', '值')     小知识点 js的对象只能用JS的属性和方法Jq的对象只能用JQ的属性和方法

目的:学会区分

用原生 JS 获取来的对象就是 DOM 对象【document.getElement等方法】

jQuery 方法获取的元素就是 jQuery 对象【$(‘div’)等】

jQuery 对象本质是: 利用$对DOM 对象包装后产生的对象(伪数组形式存储)

特别注意

只有 jQuery 对象才能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 方法。

相互转换

DOM 对象与 jQuery 对象之间是可以相互转换的。

因为原生js 比 jQuery 更大,原生的一些属性和方法 jQuery没有给我们封装. 要想使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。

DOM 对象转换为 jQuery 对象: $(DOM对象)

jQuery 对象转换为 DOM 对象(两种方式)

​ $(‘div’) [index] index 是索引号

​ $(‘div’) .get(index) index 是索引号

	<div>123</div><script type="text/javascript">var div = document.querySelector('div');// div.style.background = 'red';// div.css('background', 'blue');// DOM元素不可以用jQuery的方法// 如果吧divDOM对象转成jQuery对象,就可以用jQuery的方法// $(div).css('background', 'blue');// $(DOM对象)==>jQuery对象// $(元素).css('属性名', '属性值');// $('div').css('background', 'yellow');// $('div').style.background = 'pink';// jQuery对象不可以用原生JS的方法// 如果吧jQuery对象转换称为DOM对象,就可以用style// console.log( $('div') );// [divDOM]\// $('div')[0].style.background = 'pink';$('div').get(0).style.background = 'orange';</script>

jQuery:JS库

​ 入口函数:$(function () {})

​ jQuery对象和DOM对象转换

jQuery 常用API

目标

  1. jQuery 选择器
  2. jQuery 样式操作
  3. jQuery 效果
  4. jQuery 属性操作
  5. jQuery 文本属性值
  6. jQuery 元素操作
  7. jQuery 尺寸、位置操作

jQuery 选择器

原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此jQuery给我们做了封装,使获取元素统一标准选择器:用来获取元素

$(“选择器”) // 里面选择器直接写 CSS 选择器即可,但是要加引号

$('#id')==》指定id元素$('*')==》所有元素$('.class')==》指定class元素$('div')==》根据标签获取元素$('div,p,li')==》获取多个$('li.class')==>交集获取$('ul>li')==>子代$('ul li')==>后代

隐式迭代

遍历内部 DOM 元素(伪数组形式存储)的过程就叫做隐式迭代

简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。

小练习:

​ 给一组li修改样式

<body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul><script type="text/javascript">// 因为:隐式迭代$('ul li').css('background','blue');// 原来// var lis = document.querySelectorAll('li');// for (var i = 0; i < lis.length; i++) {// 	lis[i].style.background = 'red';// }</script>
</body>

jQuery 筛选选择器

$(‘li:first’):第一个元素

$(‘li:last’):最后一个元素

$(‘li:eq(2)’)==》索引为2【查找指定索引的元素】

$(‘li:odd’)==》索引为奇数

$(‘li:even’)==》索引为偶数

注意:索引是从0开始的

jQuery 筛选方法(重点)

$(‘选择器’).方法()

$(‘li’).parent()父级

$(‘ul’).children(‘li’);子集【如果不加参数,获取所有的,如果添加指定的元素,按照指定的找】

$(‘ul’).find(‘li’)后代

$(‘li’).siblings(‘li’)兄弟

$(‘li’),nextAll();后面的

$(‘li’).prevAll();前面的

判断是否具有某个类名:$(‘div’).hasClass(‘aaa’)

$(‘div’).eq(index);指定索引方法【eq推荐用方法】

重点记住: parent()  children()  find()  siblings()  eq()

小知识点:添加事件,show方法,hide方法,toggle方法

案例下拉菜单

上午回顾:

​ jQuery:javaScript库

​ 入口函数:

​ 第一种:$(function () {代码});

​ 第二种:$(document).ready(function () {代码});

​ jQuery:jQuery对象==>$

​ jQuery对象:$(’元素‘)[索引值];

​ DOM对象:原生获取元素$(DOM对象)

​ jQuery选择器:$(‘选择器’);

​ 筛选方法:parent,childrend,find,siblings,eq

​ 添加知识: next() 下一个 prev()上一个

jQuery中的next()方法
next()方法,获取指定元素同辈的下一个元素

语法  $().next()

jQuery中的prev()方法
prev方法:获取指定元素同辈的上一个元素

语法  $().prev();

jQuery 里面的排他思想

案例:多个按钮点击改变当前按钮颜色,其他的不变

【index()获取索引值】

想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式。

$(this).css(“color”,”red”);$(this).siblings(). css(“color”,””); 

案例:淘宝服饰精品案例【index()获取索引值】


②需要得到当前小li 的索引号,就可以显示对应索引号的图片③jQuery 得到当前元素索引号 $(this).index()  ⑤显示元素 show()   隐藏元素 hide()

链式编程

$(this).css(‘color’, ‘red’).sibling().css(‘color’, ‘’);

按钮案例

<script type="text/javascript">$('input').click(function () {// $(this).css('background', 'red');// $(this).siblings().css('background', '');$(this).css('background', 'yellow').siblings().css('background', '');});</script>

jQuery 样式操作

jQuery 可以使用 css 方法来修改简单元素样式; 也可以操作类,修改多个样式。

操作 css 方法

参数只写属性名,则是返回属性值【$(this).css(''color'');】参数是属性名,属性值,逗号分隔,是设置一组样式,属性必须加引号,值如果是数字可以不用跟单位和引号【$(this).css(''color'', ''red'');】参数可以是对象形式,方便设置多组样式。属性名和属性值用冒号隔开, 属性可以不用加引号,
【$(this).css({ "color":"white","font-size":"20px"});】$('input').click(function () {// console.log( $('div').css('width') );// $('div').css('width', '300px');// $('div').css('height', 300);// $('div').css('background','blue');// 如果,设置的属性多,那么直接传递对象既可$('div').css({// 属性名 :属性值,width : 200,height : 200,background : 'yellow','font-size' : '60px',});});

设置类样式方法

作用等同于以前的 classList,可以操作类样式,注意操作类里面的参数不要加点

添加类【$(“div”).addClass(''current'');】移除类【$(“div”).removeClass(''current'');】切换类【$(“div”).toggleClass(''current'');】原生 JS 中 className 会覆盖元素原先里面的类名。
jQuery 里面类操作只是对指定类进行操作,不影响原先的类名

***案例:*tab栏切换

点击上部的li,当前li 添加current类,其余兄弟移除类。点击的同时,得到当前li 的索引号让下部里面相应索引号的item显示,其余的item隐藏<script>// 点击修改内容以及样式// 点击li添加类名current,其他li不准加这个类名// 并且对应的div要显示,其他的div要隐藏$('.tab_list li').click(function () {// 1、点击哪个li给哪个li添加类名,其他的移除类名$(this).addClass('current').siblings().removeClass('current');// 2、显示对应的div,其他div隐藏// 获取索引值var index = $(this).index();// 根据index查找对应div$('.tab_con div').eq(index).show().siblings().hide();});</script>

课程回顾:

​ jQuery:JavaScript库

​ 1、入口函数:$(function () {});

2、jQuery对象和DOM对象转换

​ 3、jQuery选择器:#id,.类名

筛选方法:parent (父级),childrend(子集),find(后代),siblings(兄弟元素),eq(索引)

​ 隐式迭代,链式编程

​ 4、jQuery样式操作:$(元素).css(参数);

5、jQuery类名操作:addClass(添加类),removeClass(删除类),toggleClass(类名的切换)

其他知识点:给元素添加事件$(元素).click(function () {});

​ 显示隐藏元素:show(显示),hide(隐藏),toggle(切换)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习(一)

一、版本&#xff1a; Python2.X /Python3.x 官方宣布2020 年 1 月 1 日&#xff0c; 停止 Python 2 的更新。 Python3.x不兼容Python2.x  二、安装&#xff08;以mac 为例&#xff09; MAC 系统一般都自带有 Python2.x版本 的环境&#xff0c;你也可以在链接 https://www.py…

jQuery—淘宝精品服饰案例

<body><div class"wrapper"><ul id"left"><li><a href"#">女靴</a></li><li><a href"#">雪地靴</a></li><li><a href"#">冬裙</a>&l…

Python机器学习实践:决策树判别汽车金融违约用户

文章发布于公号【数智物语】 &#xff08;ID&#xff1a;decision_engine&#xff09;&#xff0c;关注公号不错过每一篇干货。 转自 | 法纳斯特&#xff08;公众号ID:walker398&#xff09; 作者 | 小F 决策树呈树形结构&#xff0c;是一种基本的回归和分类方法。 决策树模型的…

Python学习(二)语言基础

一、变量与类型 在程序设计中&#xff0c;变量是一种存储数据的载体 整型&#xff1a;Python中可以处理任意大小的整数浮点型&#xff1a;浮点数也就是小数字符串型&#xff1a;字符串是以单引号或双引号括起来的任意文本布尔型&#xff1a;布尔值只有True、False两种值&#x…

jQuery—tab栏切换

<div class"tab"><div class"tab_list"><ul><li class"current">商品介绍</li><li>规格与包装</li><li>售后保障</li><li>商品评价&#xff08;50000&#xff09;</li><l…

MongoDB分组查询,聚合查询,以及复杂查询

准备数据 from pymongo import MongoClient import datetimeclientMongoClient(mongodb://localhost:27017) tableclient[db1][emp]l[ (张飞,male,18,20170301,,7300.33,401,1), #以下是教学部 (张云,male,78,20150302,teacher,1000000.31,401,1), (刘备,male,81,20130305,teac…

Python学习(三)基础

一、函数与模块 定义函数&#xff1a; 函数代码块以 def 关键词开头&#xff0c;后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间&#xff0c;圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以…

操作系统原理之I/O设备管理(第六章上半部分)

一、I/O系统的组成 I/O系统不仅包括各种I/O设备&#xff0c;还包括与设备相连的设备控制器&#xff0c;有些系统还配备了专⻔⽤ 于输⼊/输出控制的专⽤计算机&#xff0c;即通道。此外&#xff0c;I/O系统要通过总线与CPU、内存相连。 I/O系统的结构&#xff1a; I/O设备的分类…

js控制a标签点击事件 触发下载

问题背景&#xff0c;动态获取data把url赋值到a标签的url中&#xff0c;让a标签自动下载 首先想到的应该是$(xxx).click(), 查资料明白&#xff1a;js中的$(...).click()事件只能触发绑定的onClick方法&#xff0c;不能跳转到href。 第二种方法&#xff1a;获取到url之后locat…

操作系统原理之I/O设备管理(第六章下半部分)

五、I/O软件原理 输入输出软件的总体目标是将软件组织成一种层次结构 低层软件用来屏蔽硬件的具体细节高层软件则主要是为用户提供一个简洁、规范的界面设备管理的4个层次&#xff1a; 用户层软件 -》向系统发出I/O请求&#xff0c;显示I/O操作的结果&#xff0c;提供⽤户与设备…

jQuery第二天

课程回顾&#xff1a; ​ jQuery&#xff1a;JavaScript库 ​ 入口函数&#xff1a;$(function () {}); ​ jQuery&#xff1a;jQuery对象&#xff0c;DOM对象 ​ jQuery转成DOM&#xff1a;$(‘元素’)[索引值] ​ DOM转成jQuery&#xff1a;$(DOM对象); ​ 筛选方法&am…

切换Debug/Release编译模式和Archive的作用

&#xfeff;在学这个之前&#xff0c;以为很难&#xff0c;也起不到什么作用&#xff0c;但是等真正运用到工程里面&#xff0c;才发现&#xff0c;这个能帮你省下很多工作量。 1&#xff0c;Debug和Release版本区别&#xff1f; 进行iOS开发&#xff0c;在Xcode调试程序时&am…

Linux 防火墙:Netfilter iptables

一、Netfilter 简介 (1) Netfilter 是 Linux 内置的一种防火墙机制&#xff0c;我们一般也称之为数据包过滤机制&#xff0c;而 iptables 只是操作 netfilter 的一个命令行工具(2) Netfilter 是 Linux CentOS 6 内置的防火墙机制&#xff0c;Firewall 是 Linux CentOS 7 内置的…

无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。...

无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。 在项目里添加 现有项 把SQLite.Interop.DLL文件添加进来&#xff0c;然后点击属性 修改一个属性 把 属性 复制到输出目录 改为 始终复制 然后打开你的项目属性 进入生成的 页面&a…

jQuery第三天

课程回顾&#xff1a; ​ 动画效果&#xff1a;基本动画&#xff0c;滑动动画&#xff0c;淡入淡出&#xff0c;自定义动画效果(animate) ​ 事件切换&#xff1a;hover(over&#xff0c;out); ​ 停止动画&#xff1a;stop ​ 操作属性&#xff1a;prop&#xff08;固有属…

C语言程序设计II—第八周教学

第八周教学总结&#xff08;15/4-21/4&#xff09; 教学内容 本周的教学内容为&#xff1a;   8.4 电码加密 知识点&#xff1a;指针与字符串&#xff0c;重难点&#xff1a;字符指针与字符串的关联和区别&#xff1b;   8.5 任意个整数求和 知识点&#xff1a;动态内存分配…

AFNetworking 对数据进行https ssl加密

参考来源&#xff1a;http://www.cnblogs.com/jys509/p/5001566.html 现在在工作中的工作需求&#xff1a;https请求验证证书一般来讲如果app用了web service , 我们需要防止数据嗅探来保证数据安全.通常的做法是用ssl来连接以防止数据抓包和嗅探其实这么做的话还是不够的 。…

数据库系统原理(第一章概述)

一、数据库基本概念 什么是数据&#xff1a;数据&#xff08;Data&#xff09;是描述事物的符号记录&#xff0c;是指利用物理符号记录下来的、 可以鉴别的信息。 数据是信息存在的一种形式&#xff0c;只有通过解释或处理的数据才能成为有用的信息。 什么是数据库&#xff1a;…

jQuery第四天

课程回顾&#xff1a; ​ 元素操作&#xff1a; ​ 遍历元素&#xff1a; ​ $(‘元素’).each(function (index, elm) {}); ​ $.each(对象&#xff0c;function (index, elm) {}); ​ 创建元素&#xff1a;$(‘ 新的元素?’);​ 添加元素&#xff1a; ​ 内部添加&…

navigationController的NavigationBar和ToolBar的POP或PUSH消失问题

今天在工作中发现一个坑&#xff0c; 其他页面都是隐藏。YSViewController 使用的时候必须是需要 navigationBar 和 toorbar&#xff0c;但是 pop出这个viewcontroller后&#xff0c;需要隐藏navigationBar 和 toorbar&#xff0c;但是直接设置为hiddenYES会出现其他页面压栈出…