当前位置: 首页 > 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…...

提升表单开发效率:基于快马AI一键生成w777.7cc验证表单组件

今天在开发一个用户注册功能时&#xff0c;遇到了表单验证这个老生常谈的问题。以前每次都要手动写一堆验证逻辑&#xff0c;既费时又容易出错。这次尝试用w777.7cc框架结合InsCode(快马)平台的AI辅助功能&#xff0c;发现开发效率提升了不少&#xff0c;分享下具体实现过程。 …...

3步解锁魔兽争霸3性能潜力:从60帧到300帧的现代硬件优化实战

3步解锁魔兽争霸3性能潜力&#xff1a;从60帧到300帧的现代硬件优化实战 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为经典RTS游戏&am…...

3大智能策略:sguard_limit如何彻底解决腾讯游戏卡顿难题?

3大智能策略&#xff1a;sguard_limit如何彻底解决腾讯游戏卡顿难题&#xff1f; 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否曾在英雄联盟的团…...

Qwen3-VL-8B效果实测:上传图片,看AI如何精准描述与回答

Qwen3-VL-8B效果实测&#xff1a;上传图片&#xff0c;看AI如何精准描述与回答 1. 轻量级视觉语言模型的惊艳表现 当你第一次看到Qwen3-VL-8B处理图片的能力时&#xff0c;很难相信这只是一个8B参数的模型。它不仅能准确识别图片中的物体和场景&#xff0c;还能理解上下文关系…...

Pixel Script Temple 机器学习全流程辅助:从数据清洗到模型部署脚本

Pixel Script Temple 机器学习全流程辅助&#xff1a;从数据清洗到模型部署脚本 1. 机器学习项目中的痛点与解决方案 在机器学习项目的实际开发中&#xff0c;数据科学家常常面临一个共同的困境&#xff1a;大量时间被消耗在重复性的代码编写和调试上&#xff0c;而非核心算法…...

ModTheSpire终极指南:杀戮尖塔模组加载器完整使用教程

ModTheSpire终极指南&#xff1a;杀戮尖塔模组加载器完整使用教程 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire ModTheSpire是一款专为《杀戮尖塔》设计的强大模组加载器&#xff0c…...

基于xlsx.core.min.js实现前端表格数据的智能导入与精准导出

1. 为什么选择xlsx.core.min.js处理表格数据 第一次接触前端Excel处理需求时&#xff0c;我试过至少5种方案。有的库体积太大&#xff0c;有的兼容性差&#xff0c;还有的文档晦涩难懂。直到发现xlsx.core.min.js这个宝藏库&#xff0c;才真正解决了我的痛点。这个只有200KB左右…...

Windows USB设备独占访问技术解决方案:UsbDk架构解析与实践指南

Windows USB设备独占访问技术解决方案&#xff1a;UsbDk架构解析与实践指南 【免费下载链接】UsbDk Usb Drivers Development Kit for Windows 项目地址: https://gitcode.com/gh_mirrors/us/UsbDk Windows系统对USB设备的严格管理限制了用户模式应用程序直接访问硬件的…...

NLP-StructBERT赋能内容去重:展示海量文本相似度排查惊艳效果

NLP-StructBERT赋能内容去重&#xff1a;展示海量文本相似度排查惊艳效果 每次打开内容平台&#xff0c;你是不是也经常看到一堆“换汤不换药”的文章&#xff1f;标题不一样&#xff0c;内容却大同小异。对于平台运营者来说&#xff0c;这更是个头疼的问题&#xff1a;怎么从…...

StructBERT中文语义匹配系统开发者案例:语义向量用于排序模型特征

StructBERT中文语义匹配系统开发者案例&#xff1a;语义向量用于排序模型特征 1. 项目核心价值&#xff1a;从“虚高”到“精准”的跨越 如果你做过搜索推荐或者内容去重&#xff0c;大概率遇到过这样的头疼事&#xff1a;两段明明不相关的文本&#xff0c;用传统的语义模型一…...