Javascript 标签的属性
1.为HTML标签设置和添加属性 setAttribute()
setAttribute()方法可以给HTML标签设置/添加属性(原生的属性或者自定义的属性都可以)添加的属性会存储在标签中
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<style>
.redFont{
color:red;
}
</style>
<body>
<div id="div">我是div</div>
</body>
</html>
<script>
var div = document.getElementsByTagName('div')[0]
// 设置属性值
div.setAttribute('id','test')
// 添加属性并赋值
div.setAttribute('class','redFont')
// 添加自定义属性
div.setAttribute('xxx','abc')
</script>
运行结果:(字体变为红色,样式生效)
<div id="test" class="redFont" xxx="abc">我是div</div>
2.获取某个属性的属性值 getAttribute(attr)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<style>
.redFont{
color:red;
}
</style>
<body>
<div id="test" class="redFont" xxx="abc">我是div</div>
</body>
</html>
<script>
var div = document.getElementsByTagName('div')[0]
var id_value = div.getAttribute('id')
var class_value = div.getAttribute('class')
var xxx_value = div.getAttribute('xxx')
console.log(id_value,class_value,xxx_value) // test redFont abc
</script>
3.删除指定的属性 removeAttribute(attr)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<style>
.redFont{
color:red;
}
</style>
<body>
<div id="test" class="redFont" xxx="abc">我是div</div>
</body>
</html>
<script>
var div = document.getElementsByTagName('div')[0]
// 删除原生的属性
div.removeAttribute('id')
div.removeAttribute('class')
// 删除子定义的属性
div.removeAttribute('xxx')
</script>
运行结果:
<div>我是div</div>
4.判断某个属性是否存在 hasAttribute()
- 传入属性名来判断改属性是否存在,只要该属性存在,无论有没有属性值都返回true,否则返回false
<script>
var box = document.querySelector('#box')
//必须要传参,不然报错
console.log(box.hasAttribute('')) //false
//已经存在且有值的属性
console.log(box.hasAttribute('id')) //true
console.log(box.hasAttribute('class')) //true
//存在属性但是没有属性值
console.log(box.hasAttribute('draggable')) //true
//不存在的属性
console.log(box.hasAttribute('title')) //false
</script>
5.Attribute()方法与点语法的比较
| 方法 | 操作对象 | 原生属性(id,class,title等) | 自定义属性 |
|---|---|---|---|
| Attribute()系列 | 标签 | 共通 | 自定义属性存储在标签中 |
| 点语法 | Dom元素 | 共通 | 自定义属性存储在内存中 |
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<style>
.redFont{
color:red;
}
</style>
<body>
<div id="test" class="redFont" xxx="abc">我是div</div>
</body>
</html>
<script>
var div = document.getElementsByTagName('div')[0]
// 原生属性是相通的
console.log(div.getAttribute('id')) //test
console.log(div.id) //test
console.log(div.id === div.getAttribute('id')) // true
// 通过setAttribute修改属性
div.setAttribute('id','myDiv')
console.log(div.id) // myDiv
// 通过点语法修改属性
div.id = "newId"
console.log(div.getAttribute('id')) // newId
// 标签自定义属性只有getAttribute/setAttribute方法才能访问
console.log(div.getAttribute('xxx')) //abc
console.log(div.xxx) //undefined
//点语法添加的自定义属性只有点语法才能访问
div.yyy = "def"
console.log(div.yyy) //def
console.log(div.getAttribute('yyy')) //null
//class属性比较特殊
console.log(div.getAttribute('class')) //redFont
console.log(div.class) //undefined
console.log(div.className) //redFont
console.log(div.getAttribute('class') === div.className) // true
</script>
Javascript 标签的属性的更多相关文章
- CSS和JavaScript标签style属性对照表
CSS和JavaScript标签style属性对照表一般情况是把"-"去掉,后面字母用大写. CSS语法 (不区分大小写) JavaScript语法 (区分大小写) border ...
- video标签的属性和方法总结
最近想做一个弹幕插件,查了很多video标签的属性和方法 error属性 在正常读取时候,使用媒体数据的过程中,video元素或audio元素的error属性为null,但是任何时候只要出现错误,er ...
- HTML video 视频标签全属性详解
HTML 5 video 视频标签全属性详解 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...
- 关于html标签和属性的基本理解
一.关于标签和属性的基本理解: html页面的内容主要由"元素"或"标签"组成.使用标签来描述网页的内容. 标签tag一般都是成对出现,开始标签和结束标签,或者 ...
- html <input>标签类型属性type(file、text、radio、hidden等)详细介绍
html <input>标签类型属性type(file.text.radio.hidden等)详细介绍 转载请注明:文章转载自:[169IT-最新最全的IT资讯] html <inp ...
- CSS和JS标签style属性对照表
盒子标签和属性对照 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-bottom-c ...
- [转] JavaScript中的属性:如何遍历属性
在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScript中的对象通常都处在某个原型链中,它会从 ...
- JavaScript CSS Style属性对照表
JavaScript CSS Style属性对照表 盒子标签和属性对照 CSS语法 (不区分大小写) JavaScript语法 (区分大小写) border border border-bottom ...
- php过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ] ...
- HTML基础篇(标签和属性整--已剔除不被浏览器支持的部分)
行内元素有:a b span img input select strong 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p HTML 参考手册- (HTML5 标 ...
随机推荐
- CSS – Houdini
介绍 简单说这个 Houdini 是一系列 CSS 底层 API,它可以让我们扩展 CSS,做出一些 Polyfill. 举一个例子,让大家有个画面. 我们可以通过 CSS + JS + Canvas ...
- 第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏
#ASP-中间件-CVE&短文件&解析&写权限 -HTTP.SYS(CVE-2015-1635) 1.漏洞描述 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) ...
- LeetCode 1000. Minimum Cost to Merge Stones (区间 DP)
根据寒神题解 https://leetcode.com/problems/minimum-cost-to-merge-stones/discuss/247567/JavaC%2B%2BPython-D ...
- Android Linux EAS优化-schedtune
SchedTune SchedTune是一项与CPU调频相关的性能提升技术,它实现为一个cgroup控制器. 这个控制器提供了一个名称为schedtune.boost的配置参数,运行时系统可以使用它来 ...
- KubeSphere v4 开源并发布全新可插拔架构 LuBan
2024 年 10 月 10 日,KubeSphere 开源社区激动地向大家宣布,KubeSphere v4(开源版)已正式发布,同时发布全新可插拔架构 KubeSphere LuBan. 相较于 K ...
- MindSponge分子动力学模拟——增强采样(2024.11)
技术背景 关于增强采样(Enhanced Sampling)算法的具体原理,这里暂不做具体介绍,感兴趣的童鞋可以直接参考下这篇综述文章:Enhanced sampling in molecular d ...
- Java学习十七—反射机制:解锁代码的无限可能
Java学习十七-反射机制:解锁代码的无限可能 一.关于反射 1.1 简介 Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性.方法 ...
- DB GPT本地安装部署
源码下载 git clone https://github.com/eosphoros-ai/DB-GPT.git Miniconda环境安装 Miniconda 安装 mkdir -p ~/mini ...
- 基于Java+SpringBoot心理测评心理测试系统功能实现一
一.前言介绍: 1.1 项目摘要 心理测评和心理测试系统在当代社会中扮演着越来越重要的角色.随着心理健康问题日益受到重视,心理测评和心理测试系统作为评估个体心理状态.诊断心理问题.制定心理治疗方案的工 ...
- 鸿蒙NEXT开发案例:抛硬币
[1]引言(完整代码在最后面) 本项目旨在实现一个简单的"抛硬币"功能,用户可以通过点击屏幕上的地鼠图标来模拟抛硬币的过程.应用会记录并显示硬币正面(地鼠面)和反面(数字100面) ...