当前位置: 首页 > news >正文

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() 方法&#xff1a;主要用于获取或设置 HTML 元素的属性值&#xff0c;它接受一个参数或两个参数&#xff0c;当传递一个参数时&#xff0c;它返回指定属性名的属性值&#xff1b;当传递两个参数时&#xff0c;它设置指定属性名的属性值为指定的值。…...

接口自动化框架(Pytest+request+Allure)

前言&#xff1a; 接口自动化是指模拟程序接口层面的自动化&#xff0c;由于接口不易变更&#xff0c;维护成本更小&#xff0c;所以深受各大公司的喜爱。 接口自动化包含2个部分&#xff0c;功能性的接口自动化测试和并发接口自动化测试。 本次文章着重介绍第一种&#xff0c…...

2. 流程控制语句

2. 流程控制语句 2-1. prompt() 弹出一个对话框&#xff0c;用户可以输入内容&#xff0c;输入的内容可以通过变量接收 2-2. if…else if …else 语法&#xff1a; if(条件表达式1){ ​ 条件表达式1为真执行 ​ if(){ ​ }else{ ​ } }else { ​ 条件表达式1为假执行 } if els…...

为了流量,何同学做了个“假B站”?

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

腾讯云图形验证码申请流程

目录 一、官方指引二、操作步骤1.步骤1&#xff1a;新建验证&#xff0c;获取验证码密钥2.步骤2&#xff1a;客户端接入验证码&#xff0c;展示验证页面3.步骤3&#xff1a;服务端接入验证码&#xff0c;调用票据校验 API 进行二次校验 一、官方指引 https://cloud.tencent.co…...

浅谈管网抢维修效率对产销差率的影响

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

java设备台账管理系统myeclipse定制开发mysql数据库网页模式java编程jdbc

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

ChatGPT帮你写简历找工作

随着随着毕业时间的到来&#xff0c;应届生将要面临求职问题&#xff0c;根据官方的统计&#xff0c;2023届高校毕业生预计达1158万人&#xff0c;就业市场竞争激烈&#xff0c;无论是校园招聘&#xff0c;招聘会&#xff0c;线上招聘除了自身的准备和个人能力&#xff0c;都会…...

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隧道的代码示例&#xff1a; python import requests # 设置代理服务器地址和端口号 proxy_host 127.0.0.1 proxy_port 8888 # 设置目标网站URL url Example Domain # 创建Session对象 session requests.Session() # 设置代理服务…...

vue3【使用axios并封装axios请求】

第一步&#xff1a;安装axios npm install axios 第二步&#xff1a;编写请求文件 新建request.js 简单的axios封装&#xff0c;里面相关提示信息&#xff0c;自己可以引入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…...

软件详细设计总复习(三)【太原理工大学】

题型及分值&#xff1a; 选择 30 分&#xff0c;填空 20 分&#xff0c; 判断 10 分&#xff0c;简答 20 分&#xff0c;综合设计 20 分。 文章目录 三、行为型模式1. 命令模式2. 迭代器模式3. 观察者模式4. 状态模式5. 策略模式 三、行为型模式 1. 命令模式 举个例子&#x…...

Vue3(一):创建vue3工程、setup、vue3响应式原理、computed和watch

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

Spring中的@Value注解详解

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

YSL赢麻了?SMI社媒心智品牌榜Top20公布:YSL破局夺魁,国货品牌现后起之秀

全文速览 1.数说故事联合用户说从美妆、彩妆、护肤三板块全新发布《SMI社媒心智品牌榜》。 2.圣罗兰、兰蔻、欧莱雅等法国高端美妆大牌垄断美妆《SMI社媒心智品牌榜》前三甲。 3.彩妆Top20榜单中&#xff0c;底妆产品稳居前列&#xff0c;色彩美妆占据一席之地。 4.护肤TOP…...

链式哈希,一致性哈希,倒排表

在普通的查询中&#xff0c;通过关键码的比较进行查找&#xff0c;而哈希是根据关键码直接定位到数据项 哈希冲突&#xff1a;同一个关键码经过哈希函数后指向同一个记录集 链式哈希 using namespace std; #define M 13 typedef int KeyType; //typedef struct //{ // KeyTyp…...

Python操作XML教程:读取、写入、修改和保存XML文档

目录 导入所需模块解析XML文档获取元素遍历XML文档写入新的元素修改元素的内容和属性删除元素保存修改后的XML文档示例演示python操作xml的常用方法 XML是一种常见的数据交换格式&#xff0c;在许多应用中都被广泛使用。通过掌握Python操作XML的基础知识&#xff0c;您将能够轻…...

Oracle数据库中了locked1勒索病毒,用友nchome配置文件损坏该如何解除

随着互联网技术的不断发展&#xff0c;网络安全问题也越来越受到人们的关注。其中&#xff0c;勒索病毒是一种比较常见的网络安全威胁。最近很多集团企业在使用Oracle数据库的过程中&#xff0c;遭遇到了locked1勒索病毒的攻击&#xff0c;导致企业的用友nchome配置文件损坏&am…...

leecode 数据库: 602. 好友申请 II :谁有最多的好友

数据导入&#xff1a; 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…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...