06-jQuery-DOM操作-属性操作-attr()\prop()\addClass()\toggleClass()等
一、通用属性操作
1、attr() 方法:主要用于获取或设置 HTML 元素的属性值,它接受一个参数或两个参数,当传递一个参数时,它返回指定属性名的属性值;当传递两个参数时,它设置指定属性名的属性值为指定的值。
获取属性值可以使用如下语法:
$(selector).attr(attributeName)
其中,$(selector) 是要获取属性值的元素的选择器,attributeName 是属性名。
<a href="https://www.google.com/">Google</a>var href = $("a").attr("href");
console.log(href); // 输出 "https://www.google.com/"
设置属性值可以使用如下语法:
$(selector).attr(attributeName, value)
其中,$(selector) 是要设置属性值的元素的选择器,attributeName 是属性名,value 是属性值。
<a href="">Click here</a>$("a").attr("href", "https://www.google.com/");
//这样就把 <a> 元素的 href 属性的值修改为了 https://www.google.com/。
2、 removeAttr() 方法:用于从元素中删除指定的属性,它只接受一个参数,即要删除的属性名。
$(selector).removeAttr(attributeName)
<a href="https://www.google.com/" target="_blank">Google</a>$("a").removeAttr("target"); // 删除 <a> 元素的 target 属性
//这样,<a> 元素的 target 属性就被删除了。
3、 prop() 方法:主要用于获取或设置 DOM 元素的属性值,它接受一个参数或两个参数,当传递一个参数时,它返回指定属性名的属性值;当传递两个参数时,它设置指定属性名的属性值为指定的值。
获取属性值:
$(selector).prop(propertyName)
其中,$(selector) 是要获取属性值的元素的选择器,propertyName 是属性名。
<input type="checkbox" checked>var checked = $("input[type='checkbox']").prop("checked");
console.log(checked); // 输出 true
设置属性值:
$(selector).prop(propertyName, value)
其中,$(selector) 是要设置属性值的元素的选择器,propertyName 是属性名,value 是属性值。
<input type="checkbox">$("input[type='checkbox']").prop("checked", true);
//这样就把 <input> 元素的 checked 属性设置为了 true。
请注意,prop() 方法只能用于操作 DOM 元素的属性,而不能用于 HTML 属性。例如,下面的代码不会设置 <input> 元素的 type 属性:
$("input").prop("type", "password");
如果要设置 HTML 属性,应该使用 attr() 方法。
3、removeProp() 方法:用于从 DOM 元素中删除指定的属性。和 removeAttr() 方法不同,removeProp() 方法只接受一个参数,即要删除的属性名。
$(selector).removeProp(propertyName)
<div title="Some text">Hello</div>$("div").removeProp("title"); // 删除 <div> 元素的 title 属性
//这样,<div> 元素的 title 属性就被删除了。
在 jQuery 中,attr() 方法和 prop() 方法都用于操作 HTML 元素的属性,但它们有一些区别:
1、获取属性值时的区别:
对于 HTML 属性(如 href、src 等),attr() 方法获取的是属性值。
对于 DOM 属性(如 checked、selected 等),prop() 方法获取的是属性值。
2、设置属性值时的区别:
对于 HTML 属性,attr() 方法设置属性值时,属性值必须是字符串类型。
对于 DOM 属性,prop() 方法设置属性值时,属性值可以是布尔值、数字或字符串类型。
3、修改原始值的影响:
对于 HTML 属性,attr() 方法会修改原始 HTML 元素的属性值。
对于 DOM 属性,prop() 方法不会修改原始 HTML 元素的属性值,它只会修改浏览器所跟踪的属性值,这种修改不会被序列化到 HTML 中。
二、Class属性操作
1、addClass() 方法:用于向元素添加一个或多个类名。它接受一个或多个参数,每个参数是要添加的类名。
$(selector).addClass(class1, class2, ...)例如:
<div class="box"></div>$("div").addClass("red"); // 添加类名 "red"
//这样,<div> 元素就同时拥有 box 和 red 两个类名了。
2、removeClass() 方法:用于从元素中删除一个或多个类名。它接受一个或多个参数,每个参数是要删除的类名。
$(selector).removeClass(class1, class2, ...)例如:
<div class="box red"></div>$("div").removeClass("red"); // 删除类名 "red"
//这样,<div> 元素只剩下了 box 类名。
3、toggleClass() 方法:用于在元素上添加或删除一个或多个类名,如果元素已经有了指定的类名,则删除该类名;如果元素没有指定的类名,则添加该类名。它接受一个或多个参数,每个参数是要添加或删除的类名。
$(selector).toggleClass(class1, class2, ...)例如:
<div class="box"></div>$("div").toggleClass("red"); // 添加类名 "red"
//这样,<div> 元素就同时拥有 box 和 red 两个类名了。//再次执行上述代码,<div> 元素的 red 类名就被删除了。<div class="box red"></div>$("div").toggleClass("red"); // 删除类名 "red"
//这样,<div> 元素只剩下了 box 类名。
4、hasClass() 方法:用于判断元素是否具有指定的类名。它接受一个参数,即要检查的类名,返回值为布尔类型的值,如果元素具有指定的类名,则返回 true;否则返回 false。
$(selector).hasClass(className)例如:
<div class="box red"></div>
var hasRedClass = $("div").hasClass("red"); // 返回 true
var hasGreenClass = $("div").hasClass("green"); // 返回 false
相关文章:
06-jQuery-DOM操作-属性操作-attr()\prop()\addClass()\toggleClass()等
一、通用属性操作 1、attr() 方法:主要用于获取或设置 HTML 元素的属性值,它接受一个参数或两个参数,当传递一个参数时,它返回指定属性名的属性值;当传递两个参数时,它设置指定属性名的属性值为指定的值。…...

接口自动化框架(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱。 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试。 本次文章着重介绍第一种,…...
2. 流程控制语句
2. 流程控制语句 2-1. prompt() 弹出一个对话框,用户可以输入内容,输入的内容可以通过变量接收 2-2. if…else if …else 语法: if(条件表达式1){ 条件表达式1为真执行 if(){ }else{ } }else { 条件表达式1为假执行 } if els…...

为了流量,何同学做了个“假B站”?
何同学是B站知名数码博主,凭借优秀的视频制作能力,内容创新获得广大年轻用户的喜欢。 2021年的时候,UP主老师好我叫何同学就发布了一条制作AirDesk的视频,随后迅速在社交媒体中引发了大量关注。 当时,该视频为B站全站…...

腾讯云图形验证码申请流程
目录 一、官方指引二、操作步骤1.步骤1:新建验证,获取验证码密钥2.步骤2:客户端接入验证码,展示验证页面3.步骤3:服务端接入验证码,调用票据校验 API 进行二次校验 一、官方指引 https://cloud.tencent.co…...

浅谈管网抢维修效率对产销差率的影响
1 背景 多年来,漏损治理工作一直围绕检漏、分区计量或压力管理等相关话题,却忽视了抢维修速度与质量对漏损治理成效的影响。实际上,不管是DMA分区计量,还是检漏,最终还是要通过抢维修来修复漏点达到控制漏损的目的。尽…...

java设备台账管理系统myeclipse定制开发mysql数据库网页模式java编程jdbc
一、源码特点 java设备台账管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助 mysql数据库,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 java设备台账管理系统myeclipse定制开发mysql 二、功能介绍 此次系统…...

ChatGPT帮你写简历找工作
随着随着毕业时间的到来,应届生将要面临求职问题,根据官方的统计,2023届高校毕业生预计达1158万人,就业市场竞争激烈,无论是校园招聘,招聘会,线上招聘除了自身的准备和个人能力,都会…...
CentOS 8.5和CentOS8.4安装-解决Error setting up base repository问题
CentOS 8 内核采用了python3.6,而CentOS 7还是python2.7,对于想要用GPU服务器进行机器学习方面的工作,还是用python3.6的内核更好些。 CentOS 8 的新特性 DNF 成为了默认的软件包管理器,同时 yum 仍然是可用的 使用网络管理器( nmcli 和 nmtui)进行网络配置,移除了网络脚…...
数据抓取使用HTTP隧道代码示例
以下是使用Python的requests库实现HTTP隧道的代码示例: python import requests # 设置代理服务器地址和端口号 proxy_host 127.0.0.1 proxy_port 8888 # 设置目标网站URL url Example Domain # 创建Session对象 session requests.Session() # 设置代理服务…...

vue3【使用axios并封装axios请求】
第一步:安装axios npm install axios 第二步:编写请求文件 新建request.js 简单的axios封装,里面相关提示信息,自己可以引入element-plus去添加 /**axios封装* 请求拦截、相应拦截、错误统一处理*/ import axios from axios; i…...
「实验记录」MIT 6.824 Raft Lab2C Persist
#Lab2C - Persist I. SourceII. My CodeIII. MotivationIV. SolutionS1 - 实现persist()S2 - 实现readPersist()S3 - 持久化三字段S4 - 在newRaft()中初始化nextIdxs和matchIdxsS5 - 适当缩短心跳时间 V. Result I. Source MIT-6.824 2020 课程官网Lab2: Raft 实验主页simviso…...

软件详细设计总复习(三)【太原理工大学】
题型及分值: 选择 30 分,填空 20 分, 判断 10 分,简答 20 分,综合设计 20 分。 文章目录 三、行为型模式1. 命令模式2. 迭代器模式3. 观察者模式4. 状态模式5. 策略模式 三、行为型模式 1. 命令模式 举个例子&#x…...

Vue3(一):创建vue3工程、setup、vue3响应式原理、computed和watch
Vue3:第一章 一、创建Vue3.0工程1.使用vue-cli创建2.使用vite创建 二、Vue3中的响应式1.拉开序幕的setup2.ref函数3.reactive函数4.vue3中响应式的原理(1)vue2中响应式原理(2)Vue3中的Proxy 5.reactive和ref的对比6.se…...

Spring中的@Value注解详解
Spring中的Value注解详解 概述 本文配置文件为yml文件 在使用spring框架的项目中,Value是经常使用的注解之一。其功能是将与配置文件中的键对应的值分配给其带注解的属性。在日常使用中,我们常用的功能相对简单。本文使您系统地了解Value的用法。 Value…...

YSL赢麻了?SMI社媒心智品牌榜Top20公布:YSL破局夺魁,国货品牌现后起之秀
全文速览 1.数说故事联合用户说从美妆、彩妆、护肤三板块全新发布《SMI社媒心智品牌榜》。 2.圣罗兰、兰蔻、欧莱雅等法国高端美妆大牌垄断美妆《SMI社媒心智品牌榜》前三甲。 3.彩妆Top20榜单中,底妆产品稳居前列,色彩美妆占据一席之地。 4.护肤TOP…...

链式哈希,一致性哈希,倒排表
在普通的查询中,通过关键码的比较进行查找,而哈希是根据关键码直接定位到数据项 哈希冲突:同一个关键码经过哈希函数后指向同一个记录集 链式哈希 using namespace std; #define M 13 typedef int KeyType; //typedef struct //{ // KeyTyp…...
Python操作XML教程:读取、写入、修改和保存XML文档
目录 导入所需模块解析XML文档获取元素遍历XML文档写入新的元素修改元素的内容和属性删除元素保存修改后的XML文档示例演示python操作xml的常用方法 XML是一种常见的数据交换格式,在许多应用中都被广泛使用。通过掌握Python操作XML的基础知识,您将能够轻…...

Oracle数据库中了locked1勒索病毒,用友nchome配置文件损坏该如何解除
随着互联网技术的不断发展,网络安全问题也越来越受到人们的关注。其中,勒索病毒是一种比较常见的网络安全威胁。最近很多集团企业在使用Oracle数据库的过程中,遭遇到了locked1勒索病毒的攻击,导致企业的用友nchome配置文件损坏&am…...
leecode 数据库: 602. 好友申请 II :谁有最多的好友
数据导入: Create table If Not Exists RequestAccepted (requester_id int not null, accepter_id int null, accept_date date null); Truncate table RequestAccepted; insert into RequestAccepted (requester_id, accepter_id, accept_date) values (1, 2, 20…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...