BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础

这篇具有很好参考价值的文章主要介绍了BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础

4.10 jQuery

4.10.1 jQuery 简介

jQuery是流行的JavaScript程序库,是对JavaScript对象和函数的封装

设计思想是write less, do more

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gx0f3UFO-1682307309412)(./assets/image-20230423230915569.png)]

4.10.2 jQuery 能做什么

  • 访问和操作DOM元素
  • 控制页面样式
  • 对页面事件进行处理
  • 扩展新的jQuery插件
  • 与Ajax技术完美结合

jQuery能做的JavaScript也都能做,但使用jQuery能大幅提高开发效率

4.10.3 初识 jQuery

获取页面中所有选中的复选框,计算并在控制台输出其数量

// 代码1:JavaScript实现
var length = 0;
var checkboxs = document.getElementsByTagName("input");
for (var i = 0; i < checkboxs.length; i++) {
    if (checkboxs[i].type == 'checkbox' && checkboxs[i].checked) {
        length += 1;
    }
}
console.log(length);
// 代码2:jQuery实现
$( function () {
    var count = $("input[type='checkbox']:checked").length;
    console.log(count);
})

4.10.4 jQuery 的优势

  • 轻量级
  • 强大的选择器
  • 出色的DOM封装
  • 可靠的事件处理机制
  • 出色的浏览器兼容性
  • 使用链式操作、隐式迭代简化编程
  • 丰富的插件支持
  • 完善的文档
  • 开源
  • ……

4.11 jQuery 下载

4.11.1下载官网

进入jQuery官网:https://jquery.com

jQuery库分开发版和发布版

类型 文件 说 明
开发版 jquery-版本号.js 完整无压缩版本,主要用于测试、学习和开发
发布版 jquery-版本号.min.js 经过工具压缩或经过服务器开启Gzip压缩,主要应用于发布的产品和项目

4.11.2 引入 jQuery

<script src="js/jquery-3.5.1.js" type="text/javascript"></script>

4.11.3 查看 jQuery 版本

可以通过在浏览器控制台中输入$.fn.jquery,查看引入的jQuery版本

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nDidFB47-1682307309414)(./assets/image-20230423231305170.png)]

4.11.4 挂载 jQuery

可以使用CDN(Content Delivery Network,内容分发网络)的形式载入jQuery

  • 使用和维护更为方便
  • 可以利用减少加载时间
// CDNJS
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
// Staticfile CDN
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
// BootCDN
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
// Microsoft CDN
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.js"></script>
// Google CDN
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

4.12 jQuery基本语法

通过jQuery实现在页面加载完成后,在浏览器控制台中输出“Hello,jQuery!”

<script src="jquery.js" type="text/javascript"></script>
<script>
    $( document ).ready( function () {
        console.log("Hello,jQuery!");
    });
</script>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MAxUIcHF-1682307309415)(./assets/image-20230423231514621.png)]

4.12.1 $(document).ready()

  • 实际开发中,通常使用ready()方法实现在页面加载后执行操作
  • $(document).ready()与window.onload类似,但也有区别
比较项 window.onload $(document).ready()
执行时机 必须等待网页中所有的内容加载完毕后(包括图片、视频、flash等)才能执行 网页中所有DOM文档结构绘制完毕后即刻执行,与DOM元素关联的内容(图片、视频、flash等)可能并没有加载完
编写次数 同一页面不能同时编写多个 同一页面能同时编写多个
简化写法 $( function() { // 执行代码} ) ;

4.12.2 jQuery语法结构

$( selector ).action(); 
  • 工厂函数 $():等同于jQuery(),将DOM对象转化为jQuery对象
  • 选择器 selector:获取需要操作的DOM元素
  • 方法 action():jQuery中提供的方法,对元素进行操作,根据方法的作用可以划分为
    • 事件处理方法
    • 动画方法
    • HTML/CSS方法
    • 遍历方法
    • Ajax方法
    • 杂项方法

4.12.3 DOM对象和jQuery对象

DOM对象:直接使用JavaScript获取的节点对象

var objDOM = document.getElementById("title");
var objHTML = objDOM.innerHTML;  

jQuery对象:使用jQuery包装DOM对象后产生的对象,能够使用jQuery中的方法

var $objJQuery = $("#title");
var objHTML = $objJQuery.html();

DOM对象和jQuery对象的方法不能混用

4.13 jQuery选择器

jQuery选择器类似于CSS选择器,用来选取网页中的元素

jQuery选择器功能强大,种类也很多

  • 类CSS选择器

    • 基础选择器
    • 层次选择器
  • 过滤选择器

    • 基础过滤选择器
    • 属性过滤选择器
  • 表单选择器

4.13.1 基础选择器

基础选择器包括ID选择器、类选择器、标签选择器、全局选择器和并集选择器

名称 语法构成 描述 示例
ID选择器 #id 根据给定的id匹配元素 $(“#title”)选取id为title的元素
类选择器 .class 根据给定的class匹配元素 $(“.title”)选取所有class为title的元素
标签选择器 element 根据给定的标签名匹配元素 $(“h2” )选取所有h2元素
全局选择器 * 匹配所有元素 $(“*” )选取所有元素
并集选择器 selector1,selector2,…, selectorN 将每一个选择器匹配的元素合并后一起返回 $(“div,p,.title” )选取所有div、p和拥有class为title的元素

4.13.2 层次选择器

层次选择器通过DOM元素之间的层次关系来获取元素

名称 语法构成 描述 示例
后代选择器 anc dsct 选取ancestor元素里的所有descendant(后代)元素 $(“#menu span”)选取#menu下的元素
子选择器 parent>child 选取parent元素下的child(子)元素 $(“#menu>span”)选取#menu的子元素
相邻元素选择器 prev+next 选取紧邻prev元素之后的next元素 $(“h2+dl”)选取紧邻

元素之后的同辈元素

同辈元素选择器 prev~sibings 选取prev元素之后的所有siblings元素 $(“h2~dl”)选取

元素之后所有的同辈元素

4.13.3 过滤选择器

通过特定的过滤规则来筛选出所需的元素

主要分类

  • 基本过滤选择器
  • 内容过滤选择器
  • 可见性过滤选择器
  • 子元素过滤选择器
  • 属性选择器
  • 表单选择器
基本过滤选择器
语法 描述 示例
:first 选取第一个元素 $(“li:first”)选取所有
  • 元素中的第一个
  • 元素
:last 选取最后一个元素 $(“li:last”)选取所有
  • 元素中的最后一个
  • 元素
:not(selector) 选取去除所有与给定选择器匹配的元素 $(“li:not(.three)”)选取class不是three的
  • 元素
:even 选取索引是偶数的所有元素(index从0开始) $(“li:even”)选取所有
  • 元素中索引值是偶数的
  • 元素
:odd 选取索引是奇数的所有元素(index从0开始) $(“li:odd”)选取所有
  • 元素中索引值是奇数的
  • 元素
语法 描述 示例
:eq(index) 选取索引等于index的元素(index从0开始) $(“li:eq(1)”)选取索引等于1的
  • 元素
:gt(index) 选取索引大于index的元素(index从0开始) $(“li:gt(1)”)选取索引大于1的
  • 元素
:lt(index) 选取索引小于index的元素(index从0开始) $(“li:lt(1)”)选取索引小于1的
  • 元素
:header 选取所有标题元素,如h1~h6 $(“:header”)选取网页中所有标题元素
:focus 选取当前获取焦点的元素 $(“:focus”)选取当前获取焦点的元素
:animated 选择所有动画 $(“:animated”)选取当前所有动画元素
属性过滤选择器

属性过滤选择器通过HTML元素的属性来选择元素

语法构成 描述 示例
[attribute] 选取包含给定属性的元素 $(“[href]”)选取含有href属性的元素
[attribute=value] 选取等于给定属性是某个特定值的元素 $(“[href = ‘#’]”)选取href属性值为“#”的元素
[attribute!=value] 选取不等于给定属性是某个特定值的元素 $(“[href != ‘#’]”)选取href属性值不为“#”的元素
[attribute^=value] 选取给定属性是以某些特定值开始的元素 $(“[href ^= ‘en’]”)选取href属性值以en开头的元素
[attribute$=value] 选取给定属性是以某些特定值结尾的元素 $(“[href $= ‘.jpg’]”)选取href属性值以.jpg结尾的元素
[attribute*=value] 选取给定属性是以包含某些值的元素 $(“[href *= ‘txt’]”)选取href属性值中含有txt的元素

4.13.4 注意事项

特殊符号的转义

<div id="id#a">aa</div>
<div id="id[2]">cc</div>

获取以上两个元素的选择器

$("#id\\#a");
$("#id\\[2\\]");

选择器中的空格

选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

var $t_a = $(".test :hidden"); // 带空格的jQuery选择器
// 选取class为“test”的元素内的所有隐藏元素
var $t_b = $(".test:hidden");  // 不带空格的jQuery选择器
// 选取class为“test”的隐藏元素

4.14 jQuery让渡$操作符

jQuery不是唯一使用 $ 的脚本库,项目中有其他同样使用 $ 的脚本库时就会引起冲突

// Prototype的 $ 会覆盖jQuery的 $
<script type="text/javascript" src="../js/jquery.min.js" />
<script type="text/javascript" src="../js/prototype.js" />
// 或者
// jQuery的 $ 会覆盖Prototype的 $
<script type="text/javascript" src="../js/prototype.js" />
<script type="text/javascript" src="../js/jquery.min.js" />

jQuery定义了jQuery.noConflict()方法

jQuery.noConflict(); // 让渡$使用权,后续jQuery代码使用jQuery代替$
jQuery( document ).ready();
// 或者重新指定一个替代符号:
var  $j = jQuery.noConflict(); // 让渡$使用权,并指定用 $j 代替$
$j( document ).ready();

放弃对$的使用权改变了jQuery的编码风格,烦琐且不利于重用已有代码

jQuery.noConflict(); // 让渡$使用权,其他脚本库可以使用$
jQuery( document ).ready( function( $ ) {
    // 在这里继续使用$编写jQuery代码
    $( "#show" ).click();
} );
jQuery.noConflict(); // 让渡$使用权,其他脚本库可以使用$
( function( $ ) {
    // 在这里继续使用$编写jQuery代码
    $( document ).ready( function() {
        $( "#show" ).click();
    } );
} )( jQuery );

BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础文章来源地址https://www.toymoban.com/news/detail-423673.html

到了这里,关于BCSP-玄子前端开发之JavaScript+jQuery入门CH10_jQuery基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python_web1(前端开发之HTML、CSS、Bootstap、Javascript、JQuery)

    知识总结: Python_web前端开发 python 安装Flask web框架 pip install flask 简介:templates用来返回html的页面,而非文本。 创建文件index.html 结构如下 index.xml内容如下: web1.py内容如下: 重新运行后: 固定格式:h/div/span/a/img/ul/li/table/input/form 通用的字符编码 meta charset=“UTF-8” div:一个

    2024年04月14日
    浏览(45)
  • jQuery.js - 前端必备的Javascript库

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 jQuery.js 是什么? jQuery是一个快速简洁、免费开源易用的JavaScript框架, 倡导写更少的代码,做更多的事情 。它封装JavaScript常用的功能代码,提供了一种简便的JavaScript设计模式,以及我们开发中常用到的操作DOM的API,优化HTML文

    2024年02月05日
    浏览(47)
  • jQuery UI -- 日历选择器,高端web前端开发

    2、关于JS的部分,将我们引入的 js 文件: jquery-ui-1.10.3.custom.min.js 替换为: jquery.ui.core.js 和 jquery.ui.datepicker.js 。 jquery-ui-1.10.3.custom.min.js 的大小是223KB,而 jquery.ui.core.js 和 jquery.ui.datepicker.js 的大小一起是84KB。 这样,我们同样能实现一个日期选择器的功能,但是就没有 jQuery U

    2024年04月17日
    浏览(27)
  • 在前端开发中,何时应该使用 jQuery,何时应该使用 Vue.js

    如果您是最近才开始进入 Web 前端开发领域的开发人员,那么您可能会听说过 jQuery。jQuery 是一个小巧而功能强大的 JavaScript 库,旨在简化跨浏览器 DOM 操作、事件处理、动画效果和 AJAX 等方面的操作,可以让开发人员更轻松地开发出高质量的网站和 Web 应用程序。 何时应该使

    2024年02月02日
    浏览(36)
  • [HTML]Web前端开发技术10(HTML5、CSS3、JavaScript )CSS+DIV页面布局,固定定位,相对定位relative,绝对定位absolute,层定位的应用——喵喵画网页

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 课后练习 网页标题:固定定位 网页标题:相对定位relative 网页标题:绝对定位absolute 网页标题:层定

    2024年02月02日
    浏览(42)
  • 前端JavaScript入门-day05

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 对象(object):JavaScript里的一种数据类型 可以理解为是一种无序的数据集合, 注意数组是有序的数据集合 用来描述某个事物,例如描述一个人 人有姓名、年龄、性别等信息

    2024年02月11日
    浏览(31)
  • 前端JavaScript入门-day03

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 1、循环-for 1. for 循环-基本使用 1. for循环语法 2. 退出循环  2. for 循环嵌套  2、数组  1 数组是什么 2 数组的基本使用  1. 声明语法 2. 取值语法  3. 一些术语:  4. 遍历

    2024年02月11日
    浏览(36)
  • JAVA前端快速入门基础_javascript入门(01)

    1.JS是什么 JavaScript是一门跨平台,面向对象的脚本语言(即不需要编译,可以直接通过浏览器进行解释)。JS和Java是两门完全不相同的语言,但是基础的语法是类似的 2.JS的引入方式 JS如何在前端代码里面体现作用。有两种方式,一种是内部脚本,一种是外部脚本 注意,JS代码必

    2024年04月27日
    浏览(30)
  • 前端学习记录~2023.8.10~JavaScript重难点实例精讲~第6章 Ajax

    本章是第六章Ajax相关的内容。 Ajax是一种流行的前后端数据交互的方式,通过异步请求就可以在不需要刷新页面的情况下,达到局部刷新的效果。 Ajax并非是一种全新的技术,而是由以下技术组合而成: 使用CSS和XHTML做页面呈现 使用DOM进行交互和动态显示 使用XMLHttpRequest对象

    2024年02月11日
    浏览(24)
  • 前端JavaScript入门-day08-正则表达式

    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 介绍 语法  元字符  边界符  量词  字符类: 修饰符 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象,通常用

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包