jQuery——B站黑马程序员
参考链接: https://blog.csdn.net/wuyxinu/article/details/103669718.
文章目录
- JQuery语法: $(selector).action()
- JQuery简介
- 原生js的缺点
- JQuery的优点
- 如何使用JQuery
- 步骤
- JQuery的入口函数
- $是一个函数
- 分析JQuery文件结构
- $函数
- dom对象和JQuery对象
- dom对象
- jQuery对象
- dom对象和JQuery对象的相互转换
- JQuery事件
- jQuery常用的效果方法
- jQuery操作DOM元素的常用方法
- jQuery 操作 CSS的常用方法
JQuery语法: $(selector).action()
jQuery 语法是通过选取(selector) HTML 元素,并对选取的元素执行某些操作(action)。
JQuery选择器让我们更加方便的获取到页面中的元素,JQuery选择器跟css的选择器用法一模一样
JQuery API 中文文档
注意:jQuery选择器返回的是jQuery对象。
JQuery简介
JQuery就是一个封装了很多方法的、轻量级的"写的少,做的多"的javascript库。我们学习JQuery其实就是学习JQuery中封装的一大堆方法。
jQuery 库包含以下功能:
- HTML 元素选取
- HTML 元素操作
- CSS 操作
- HTML 事件函数
- JavaScript 特效和动画
- HTML DOM 遍历和修改
- AJAX
- Utilities
原生js的缺点
- 不能添加多个入口函数(window.onload),如果添加了多个,后面的会把前面的给覆盖。
- 原生js的api名字都太长太难记。
- 原生js有时代码会有些冗余。
- 原生js中有些属性或者方法有浏览器兼容问题。
- 原生js容错率较低,前面的代码出了问题,则后面的代码执行不了。
JQuery的优点
- JQuery是可以写多个入口函数的。
- JQuery的api名字都很容易记忆。
- JQuery代码简洁(隐式迭代)。
- JQuery帮我们解决了浏览器兼容问题。
- JQuery容错率较高,前面的代码出了问题,后面的代码不受影响。
如何使用JQuery
步骤
- 使用script标签引入jQuery文件(到官网下载)
- 入口函数
- 功能实现
JQuery的入口函数
有两种写法:
//写法一
$(function(){});//写法二
$(document).ready(function(){});
//意思是:一旦dom结构渲染完毕即可执行内部代码。
和js入口函数window.onload的区别
- jQuery入口函数可以书写多次,window.onload只能书写一次;
- 执行的时机不同。
jQuery的入口,一旦dom结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成;
window.onload 是等页面文档、外部的js文件、css文件、图片加载完毕才执行内部代码。
$是一个函数
分析JQuery文件结构
- JQuery是一个js文件,引入一个js文件是会执行js文件中的代码的。
- JQuery文件是一个自执行函数,执行这个jQuery文件中的代码,其实就是执行这个自执行函数。
- JQuery文件中包含的一个重要的代码表明:这个自执行文件就是给window对象添加一个jQuery属性和$属性。
(function(){window.jQuery = window.$ = jQuery;}());
- 所以$其实和jQuery是等价的,是一个函数。
$函数
$是一个函数,参数传递不同,效果也不一样。
如果参数传递的是一个匿名函数,则功能为入口函数;
$(function(){});
如果参数传递的是一个字符串,则功能为:选择器/创建一个标签;
$('#one'); $('<div>啦啦,我是一个div</div>');
如果参数是一个dom对象,那他就会把dom对象转换成jQuery对象。
$(dom对象);
dom对象和JQuery对象
DOM对象与jQuery对象的方法不能混用。
dom对象
- 定义
使用JavaScript中的方法获取页面中的元素返回的对象就是dom对象。
例如通过document.getElementById(" ");
获得的对象。 - 特点:
只能调用dom方法或者属性,不能调用JQuery的方法或者属性。
jQuery对象
- 定义
jQuery对象就是使用jQuery的方法获取页面中的元素返回的对象。 - 特点
只能调用jQuery方法或者属性,不能调用dom的方法或者属性;
jQuery对象其实就是DOM对象的包装集,包装了DOM对象的集合(伪数组)。
当要用一个变量来存储获取到的jquery对象时,最好在变量的前面加一个$,以表示它是jquery对象。
var $div1 = $('#one');
dom对象和JQuery对象的相互转换
dom对象 --> JQuery对象
var div1 = document.getElementById("one"); //先取出dom对象 var $div1 = $(div1); //转为jquery对象 //联想记忆:用钱转
JQuery对象 --> dom对象
方法一:使用下标取出来(前面说过,JQuery对象是一个伪数组)var $divs = $('div'); //$divs为JQuery对象 var div1 = $divs[0];
方法二:get方法
var div2 = $divs.get(0); //其本质也是方法一
JQuery事件
页面对不同访问者的响应叫做事件。
jQuery的事件和JS的事件基本相同,在使用的时候,去掉JS事件前面的on即可。
常用的 jQuery 事件方法:
- $(document).ready():该方法允许我们在文档完全加载完后执行函数
- click:当单击鼠标时运行脚本
- dblclick:当双击鼠标时运行脚本
- keydown:当按下按键时运行脚本
- keyup:当松开按键时运行脚本
- keypress:当按下并松开按键时运行脚本
- mousedown:当按下鼠标按钮时运行脚本
- mouseup:当松开鼠标按钮时运行脚本
- focus:当窗口获得焦点时运行脚本
- blur:当窗口失去焦点时运行脚本
- …
以上方法的缺点:不能同时注册多个事件。使用bind方式注册事件可以解决该问题
//第一个参数:事件类型//第二个参数:事件处理程序$("p").bind("click mouseenter", function(){//事件响应方法});
事件解绑:
// 解绑匹配元素的所有事件$(selector).off();// 解绑匹配元素的所有click事件$(selector).off("click");
jQuery常用的效果方法
- 隐藏/显示
$(selector).hide() :隐藏被选的元素
$(selector).show() :显示被选的元素
$(selector).toggle() :对被选元素进行隐藏和显示的切换 - 淡入淡出
$(selector).fadeIn():用于淡入已隐藏的元素:逐渐改变被选元素的不透明度,从隐藏到可见
$(selector).fadeOut() :用于淡出可见元素: 逐渐改变被选元素的不透明度,从可见到隐藏
$(selector).fadeToggle(); :该方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
$(selector).fadeTo() :该方法允许渐变为给定的不透明度(值介于 0 与 1 之间) - 滑动
$(selector).slideDown(): 用于向下滑动元素
$(selector).slideUp() :用于向上滑动元素
$(selector).slideToggle() :对被选元素进行滑动隐藏和滑动显示的切换 - 动画
$(selector).animate() :用于创建自定义动画
jQuery操作DOM元素的常用方法
jQuery HTML / CSS 方法
$(selector).parent() :返回被选元素的直接父元素
$(selector).parents():返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (< html>),可选参数来过滤对祖先元素的搜索
$(selector).children() :返回被选元素的所有直接子元素。可选参数来过滤对子元素的搜索
$(selector).siblings() :返回被选元素的所有同胞元素。过滤对同胞元素的搜索。
$(selector).next() : 返回被选元素的下一个同胞元素。
$(selector).get() :获得由选择器指定的 DOM 元素。
$(selector).each() :对对象进行迭代,为每个元素执行函数
$(selector).toArray() :以数组的形式返回 jQuery 选择器匹配的元素
$(selector).text():设置或返回所选元素的文本内容
获取文本:text()方法不给参数。
设置文本:text()方法给参数,参数就是要设置的文本。设置的文本会覆盖原来的内容,如果设置的文本中包含标签,是不会把该标签解析出来的。//获取 console.log($('div').text());//设置 console.log($('#div').text('这是我新设置的文本'));
$(selector).val() :val方法用于设置和获取表单元素的值,例如input、textarea的值
//设置值 $("#name").val('张三');//获取值 $("#name").val();
$(selector).html() :设置或返回所选元素的内容(包括 HTML 标记)
$(selector).append():在被选元素的结尾插入内容
$(selector).prepend() : 在被选元素的开头插入内容
$(selector).after():在被选元素之后插入内容
$(selector).before() :在被选元素之前插入内容
$(selector).remove():删除被选元素(及其子元素)
$(selector).removeAttr():从所有匹配的元素中移除指定的属性。
$(selector).clone():创建匹配元素集合的副本
$(selector).load() :从服务器加载数据,然后把返回到 HTML 放入匹配元素
jQuery 操作 CSS的常用方法
$(selector).height():设置或返回匹配元素的高度
$(selector).width():设置或返回匹配元素的宽度
$(selector).addClass():向被选元素添加一个或多个类。
该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性。
提示:如需添加多个类,请使用空格分隔类名。$(selector).removeClass():从被选元素删除一个或多个类。
注释:如果没有规定参数,则该方法将从被选元素中删除所有类。$(selector).toggleClass():对被选元素进行添加/删除类的切换操作
该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。
不过,通过使用 “switch” 参数,能够规定只删除或只添加类。$(selector).css() :设置或返回样式属性,操作的是style属性
获取样式:css()方法设置参数为要获取值的样式名
设置样式:css(样式名, 样式值);
注意:
获取时,如果是多个元素,只会返回第一个元素的值;
设置时,如果是多个元素,会给所有元素设置相同的值。(这叫隐式迭代)//获取 console.log($('#div1').css('border')); //在ie浏览器中,要获取边框样式这样的样式值时,一定要给一个准确的边框 console.log($('#div1').css('border-top-width')); //获取包含了多个dom元素的JQuery对象的样式,只能获取到第一个dom对象的样式 console.log($('div').css('width'));//设置 //设置单样式 console.log($('#div1').css('height', '300px')); //设置多样式 $('#div').css({width:300, 'height':'400px' })
$(selector).hasClass() :检查匹配的元素是否拥有指定的类。
$(selector).attr():属性的获取、设置
/*1.获取属性*/ $('li').attr('name');/*2.设置属性*/ $('li').attr('name','tom');/*3.设置多个属性*/ $('li').attr({'name':'tom','age':'18' });/*4.删除属性*/ $('li').removeAttr('name');
$(selector).prop():布尔类型的属性不要attr方法,应该用prop方法;用法跟attr方法一样
jQuery——B站黑马程序员相关推荐
- Python学习笔记(1)---B站黑马程序员
Python学习笔记(1)-B站黑马程序员 Python学习笔记(2)-B站黑马程序员 Python学习笔记(3)-B站黑马程序员 文章目录 Linux基础 Python基础 一.Python介绍 0 ...
- B站黑马程序员pink老师讲的JavaScript代码
B站黑马程序员pink讲课的JavaScript代码(部分代码) <!DOCTYPE html> <html lang="en"> <head> ...
- C++学习笔记(B站黑马程序员C++教程)
C++学习笔记(B站黑马程序员C++教程) 简介 视频链接https://www.bilibili.com/video/BV1kV411U7Ub?spm_id_from=333.999.0.0 建议用 ...
- Python学习笔记(3)---B站黑马程序员
Python学习笔记(1)-B站黑马程序员 Python学习笔记(2)-B站黑马程序员 Python学习笔记(3)-B站黑马程序员 文章目录 五.项目实战--飞机大战 001-Pycharm中安装py ...
- Visual Studio 2022版本 B站黑马程序员C++自学分享-第一阶段(主要包括:自己敲的代码、通过注释来备注上自己对代码的理解)
Visual Studio 2022版本 B站黑马程序员C++自学分享-第一阶段(主要包括:自己敲的代码.通过注释来备注上自己对代码的理解) 前言 一.第一阶段 C++基础语法入门 对C++有初步了解 ...
- Visual Studio 2022版本 B站黑马程序员C++自学分享-第三阶段(1)(主要包括:自己敲的代码、通过注释来备注上自己对代码的理解)
Visual Studio 2022版本 B站黑马程序员C++自学分享-第三阶段(1)(主要包括:自己敲的代码.通过注释来备注上自己对代码的理解) 前言 三.第三阶段 C++提高编程 介绍C++泛型编 ...
- logback的xml文件,b站黑马程序员
为了方便大家,logback.xml可以用,b站的黑马程序员` 自己改一下file和fileNamePattern的路径即可 <?xml version="1.0" enco ...
- html, css学习笔记,自用(B站黑马程序员pink老师)
附上教学视频链接黑马程序员pink老师前端入门教程 该博文是自己随手记的上述视频笔记 跳转到css, p61 P18 <div> </div>一行一个,<span> ...
- 远程字典服务Redis,感谢B站黑马程序员,多多三连
目录 1.数据存储的解决方案(电商场景) 2.远程字典服务Redis介绍 2.1 基本操作 2.2 数据存储类型 3.数据类型 3.1 string 3.1.1 string类型数据基本操作 3.1. ...
最新文章
- Codeforces Round #742 (Div. 2) E. Non-Decreasing Dilemma (线段树维护区间连续问题)
- 后盾网lavarel视频项目---自定义验证和自定义验证规则
- 有效数据外含有额外数据_basemap之地图上画额外数据
- 中央空调水系统与制冷系统运行参数
- springboot拦截器依赖注入失败
- 鸿蒙HI3516-驱动开发(1.1-LTS)
- 同时买票是怎么实现的_腰包怎么背才更新潮?教你3种时尚背法,告别土味老气风...
- mysql binlog-row-image=minimal_十一:参数binlog_row_image(笔记)
- RuntimeError: expected backend CUDA and dtype Float but got backend CUDA and dtype Long
- 空间波(space wave)
- python和c混编_python与C、C++混编的四种方式(小结)
- maven本地仓库地址更改
- Android开发工程师已难找工作
- 2018年315晚会黑名单之夜,谁能逃过此劫?
- [Office] 段落间距调整
- 泰坦尼克号幸存者预测 python 详解
- jquery easyui 使用filebox 实现异步上传图片方法
- CPU性能天梯图 V3.90 build 20190101
- 《基于网络软件开发综合实习》实习报告
- iapp对应java代码,『iApp代码』iApp调用java获取本软件版本号
热门文章
- 5G Massive MIMO的概念和优点总结
- 求大神赐教Maven中子模块之间无法建立依赖关系问题
- mysql赋权与收回权限(grantrevoke)
- 进程间的几种通信方式的比较和线程间的几种通信方式
- iPhone13首批售罄连夜补货,粉色款爆红,天猫3分钟售罄!
- 聊聊机器人学习中的“投资”与“消费”(节选)
- 关于static关键字的一些见解(小白的见解)
- Android登陆界面设计demo
- BIOS知识枝桠——常用functions查阅
- vb/vb.net原创文章精粹(4)