jQuery API ( 三 ) -------- 链式编程 与 修改样式方法

article/2025/9/14 15:12:48

        今天这篇文章是 jQuery API 的第三篇,今天心情很好,因为破了300粉,希望所有代码人前端人在编程与写作的路上都能一帆风顺,全都早日拿认证。okk言归正传,这篇文章将带大家走进链式编程的世界,这也是 jQuery 的一个大大大大优点,其可以使代码的可读性,简洁性都得到进一步的升华,让你进入更高一层境界的代码世界。

         还有一个就是对于样式的修改的进一步说明,不再单单的是一个 css 方法,我们会在这篇文章接触到 样式操作类 与 更多的样式操作方法。

                           -------   接下来让我们进入代码世界   -------

文章目录:

一:链式编程

什么是链式编程?:

链式编程的实现原理:

链式编程示例:

二:样式修改的操作 

一:操作 css 方法

1.参数只写属性名

 2.参数为属性值与属性名,中间逗号隔开

3.参数为对象形式,以方便设置多组样式 

 二:操作类修改样式

其主要有三个样式类方法:

1.addClass(‘类名’)

2.removeClass(‘类名’)

3.toggleClass(‘类名’) 

三:jQuery 的类操作 和 原生 className 操作的区别: 


一:链式编程

什么是链式编程?:

        链式编程 与 隐式迭代 是 jQuery 的两大特点,链式编程其实我们根据字面意思已经能想象到了,像链子一样串在一起,就是链式,那在编程领域,就是将多个分开的代码连接在一起书写的意思啦?不错,正是这样,记得我们的排他思想案例吗,我们当时的做法是第一个css设置点击的元素本身,第二个css设置点击元素的兄弟元素,其实此处就可以用链式编程思想将两行代码连起来,可见链式编程的好处是减少了代码冗余,增加了简洁性。

链式编程的实现原理:

       在当前对象调用完第一个方法后,便会返回一个 jQuery 对象,这个对象就可以继续接着调用其他方法,这就是链式编程的基本实现原理。

链式编程示例:

      我们还是举例排他思想按钮作为案例,并且对比不用链式编程的代码冗余量:

//不使用链式编程
<script>$('button').click(function(){$(this).css('background','red')$(this).siblings('button').css('background','')})
</script>//使用链式编程
<script>$('button').click(function(){$(this).css('background','red').siblings('button').css('background','')})
</script>

二:样式修改的操作 

一:操作 css 方法

操作css方法有以下几种:

  • 参数只写属性名:返回结果为属性值
  • 参数为属性值与属性名,中间逗号隔开
  • 参数为对象形式,写在花括号里,键值对形式,以方便设置多组样式

1.参数只写属性名

返回结果为属性值

<div></div><script>$('div').click(function(){console.log($(this).css('backgroundColor')); })</script>

 2.参数为属性值与属性名,中间逗号隔开

结果为产生想要修改的样式效果 ( 此处点击前为红色 )

<body><div></div><script>$('div').click(function(){$(this).css('backgroundColor','pink'); })</script>
</body>

3.参数为对象形式,以方便设置多组样式 

注意样式卸载花括号里,以键值对形式书写,并且复合属性要采用驼峰命名法

<body><div></div><script>$('div').click(function(){$(this).css({'backgroundColor':'pink','border':'2px solid'}); })</script>
</body>


 二:操作类修改样式

等同于原生 js 的 classList 和 className

其主要有三个样式类方法:

  • addClass(‘类名’):添加类名
  • removeClass(‘类名’):删除类名
  • toggleClass(‘类名’):切换类名

1.addClass(‘类名’)

作用为添加类名,此处就点击后添加了 current 类

    <style>div{width: 300px;height: 300px;background-color: rgb(255, 146, 146);}.current{background-color: rgb(0, 160, 246);}</style><script src="./jquery.js"></script>
</head>
<body><div></div><script>$('div').click(function(){$(this).addClass('current')})</script>

点击后div的 多了类名current

 

2.removeClass(‘类名’)

作用为删除类名,此处就点击后就删除了原有类名

    <style>.current{width: 300px;height: 300px;background-color: rgb(0, 160, 246);}</style><script src="./jquery.js"></script>
</head>
<body><div class="current"></div><script>$('div').click(function(){$(this).removeClass('current')})</script>
</body>

点击后删除了 div 的类名 current

3.toggleClass(‘类名’) 

这个方法其实可以做到一种类名切换的效果,它其实是判断有没有这个类名,有就删掉,没有就添加

        div{width: 300px;height: 300px;background-color: rgb(255, 146, 146);}.current{width: 300px;height: 300px;background-color: rgb(0, 160, 246);}</style><script src="./jquery.js"></script>
</head>
<body><div class="current"></div><script>$('div').click(function(){$(this).toggleClass('current')})</script>
</body>

点击后会在两个类间来回切换,有 current 则删除,没有则添加这个类名


三:jQuery 的类操作 和 原生 className 操作的区别: 

         原生的className是将原先的类名覆盖掉的,而 jQuery的类方法(addClass等等)是将类名追加在原有类的基础上


http://chatgpt.dhexx.cn/article/BPPDvWhF.shtml

相关文章

jsfiddle 使用教程

最近有许多的Css 3 demo&#xff0c;因此为了方便查阅&#xff0c;就将demo部分放在 jsfiddle &#xff0c;方便日后翻阅。 这是 JSFIDDLE 的官网文档&#xff0c;都是英文&#xff0c;不过对照看还是可以的&#xff1a;官方文档 HTML区域&#xff1a; 它的HTML区域已经包含 ht…

Jfinal 框架 在Html页面使用 #if(调用java方法) #end

欢迎转发分享&#xff0c; 转发请附上本文地址&#xff1a; https://blog.csdn.net/Luoxianxun/article/details/106399780 一、实现需求 实现在html 中使用 #if(调用java类中的方法) #end&#xff1b; 二、使用技术 JFinal后台框架 JFinal 官方文档&#xff1a;https://jfi…

java文本框代码_Java Swing JTextField文本框的代码示例

1. 概述 官方JavaDocsApi: javax.swing.JTextField JTextField&#xff0c;文本框。JTextField 用来编辑单行的文本。 JTextField 常用构造方法: /* * 参数说明: * text: 默认显示的文本 * columns: 用来计算首选宽度的列数&#xff1b;如果列设置为 0&#xff0c;则首选宽度将…

java的StringBuilder、Stringjoiner

一、StringBuilder StringBuilder可以看成是一个容器&#xff0c;创建之后里面的内容是可变的。作用是提高字符串的操作效率。 注意&#xff1a;使用String创建字符串对象时&#xff0c;是不能改变字符串的内容的&#xff0c;例如&#xff1a; String s1 "aaa"; St…

swing的JTextField的介绍及其使用方法

:JTextField的(文本框)使用: JTextField 是一个轻量级组件&#xff0c;它允许编辑单行文本。 1.JTextField的常用构造方法: JTextField() 构造一个新的 TextField。 JTextField(int columns) 构造一个具有指定列数的新的空 TextField。 JTextField(String text) 构造一个用…

十字链表简介与实现(Java)

十字链表简介与实现&#xff08;Java&#xff09; 结构实现 结构 十字链表存储有向图&#xff08;网&#xff09;的方式与邻接表有一些相同&#xff0c;都以图&#xff08;网&#xff09;中各顶点为首元节点建立多条链表&#xff0c;同时为了便于管理&#xff0c;还将所有链表…

Java输出一个*号十字架

总共9行 每一行4个空格除了第五行不要空格 每一行1个*除了第五行需要9个* 利用for的循环嵌套方法&#xff0c;用三个for 从上往下 第一个for代表行数&#xff0c;第二个for代表空格数&#xff0c;第三个for代表输出的*数 做法如下:

Java 写一个简单的"十字"

如何用代码写出十字&#xff1f; 首先创建一个新的Package&#xff0c;如图&#xff1a; 取一个com.➕名字缩写和日期&#xff0c;下一行写public class 类名&#xff0c;后面加上一个{ },在它的中间写上public static void main&#xff08;String[] args){, 如图&#xff1a…

JTextField的部分常用使用方法

本篇文章将会教会大家如何使用JTextField输入框 1.创建JTextField和添加 //创建输入框 JTextField jTextField new JTextField(); //将标签添加到面板里 jPanel.add(jTextField);2设置JTextField大小坐标 //设置输入框大小 jTextField.setSize(300,100); //设置输入框坐标…

Exists 用法解释

exists的实例解析 现有两个表 a&#xff1a; b: 现有sql语句如下 select * from a where exists (select 1 from b where b.b_id a.id); 执行结果如下&#xff1a; 含义解析&#xff1a;exists 的意思是用于检查子查询是否至少会返回一行数据&#xff0c;该子查询实际上并不…

MySQL中的EXISTS用法

EXISTS 语法&#xff1a; SELECT 字段 FROM table WHERE EXISTS (subquery); 参数&#xff1a; subquery是一个受限的SELECT语句&#xff08;不允许有COMPUTE子句和INTO关键字&#xff09; 示例&#xff1a; SELECT * FROM A WHERE EXISTS (SELECT 1 FROM B WHERE B.id …

EXISTS用法

EXISTS用于检查子查询是否至少会返回一行数据&#xff0c;该子查询实际上并不返回任何数据&#xff0c;而是返回值True或False 方法/ 1 EXISTS用于检查子查询是否至少会返回一行数据&#xff0c;该子查询实际上并不返回任何数据&#xff0c;而是返回值True或False EXISTS 指定一…

hivesql中 exists 用法

有一次面试的时候&#xff0c;面试官问了这么一个场景题&#xff1a;一家门店一个月内每位顾客访问的目的可能有多种&#xff0c;并给到访顾客的目的打标签1、2、3、4这四类&#xff0c;现在要统计这家门店一个月内没有3、4标签的顾客明细。&#xff08;也就是顾客到访标签只有…

mysql中not exists用法_not exists用法

not exists是sql中的一个语法,常用在子查询和主查询之间,用于条件判断,根据一个条件返回一个布尔值,从而来确定下一步操作如何进行,not exists也是exists或in的对立面。 not exists 是exists的对立面,所以要了解not exists的用法,我们首先了解下exists、in的区别和特点:…

Hive exists 用法

where exists(select c2/1/*/key2 from tb2 where tb2.key2 = tb1.key1) exists()中的select后面跟其他字段也行,where后面用关联字段即可! selec * : in :

SQL中EXISTS的用法

比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和Compan…

在Android手机上使用MACE实现图像分类

前言 在之前笔者有介绍过《在Android设备上使用PaddleMobile实现图像分类》&#xff0c;使用的框架是百度开源的PaddleMobile。在本章中&#xff0c;笔者将会介绍使用小米的开源手机深度学习框架MACE来实现在Android手机实现图像分类。 MACE的GitHub地址&#xff1a;https://…

Ubuntu 16.04 下编译小米mace源码依赖库,跑在android板子上

https://blog.csdn.net/qq_27063119/article/details/81015227 以上链接是编译mace源码的基础步骤&#xff0c;下面我叙述一下本人编译所踩过的坑 1、编译过程中所需要的依赖必须全部安装&#xff0c;就算你一开始并没有用到的依赖&#xff0c;到后面还是会用到&#xff0c;还…

比拼三大移动端深度学习框架,小米MACE有哪些优势?

采访嘉宾 | 何亮亮 AI前线导读&#xff1a; 随着深度学习领域的快速发展&#xff0c;以及移动端芯片计算能力的逐步提升&#xff0c;设备端上的深度学习推理正在变成一个巨大的需求和趋势&#xff0c;一个好用的深度学习框架成为深度学习应用落地的关键。小米团队打造的MACE (…

小米开源框架mace android案例调试

小米开源框架mace android案例调试 1. 准备工作 编译环境准备&#xff1a;请参照小米官方的文档&#xff1a; https://mace.readthedocs.io/en/latest/installation/env_requirement.html Required dependencies SoftwareInstallation commandTested versionPython 2.7Bazelba…