DOM标签属性和对象属性
DOM元素的属性分为两种
(1)标签属性 直接写在标签上的属性
(2)对象属性 由于所有的DOM元素都是Object类型,所以我们可以通过对象的方式为DOM元素设置属性
1.标签属性
(1)设置标签属性
elem.setAttribute(属性名,属性值);
<script>
</script>
注意:
(1)属性名单词之间通常用" - "连接, 并且不使用驼峰式 例如 div-one
(2)属性值必须为小写字符串
(3)可以通过标签属性获取元素 例如: document.querySelector("[abc='123']");
(2)获取标签属性值,并返回
elem.getAttribute(属性名);
(3)删除标签属性
elem.removeAttribute(属性名);
div.removeAttribute("abc");
console.log(div); //打印结果: <div></div>
(4)标签的单属性属性值和属性名相同
示例:
<input type="checkbox">
<script>
var input=document.querySelector("input"); //获取input
input.setAttribute("checked",""); //写法1
input.setAttribute("checked","checked"); //写法2</script>
//写法1 和写法2 都会使复选框被选中
1.对象属性
(1)设置对象属性 使用点语法
elem.属性名=属性值;
获取对象属性值:
elem.属性名
var div = document.querySelector("div"); //获取div1
div.abc="123"; //为div添加abc属性 属性值为 123
console.log(div); //打印div
console.log(div.abc); //获取并打印div的 abc属性值
这时我们发现对象属性并不会显示在标签上
(2)对象属性优先级高于标签属性
<input type="checkbox">DOM属性
<script>
var input=document.querySelector("input"); //获取input
input.checked=false; //设置对象属性
input.setAttribute("checked",""); //设置标签属性
</script>
(3)标签属性 与 对应的对象属性
(a) checked id title 等 标签属性有对应的对象属性 自定义属性没有
(b)class较为特殊,对应的对象属性为 className
input.className="check1";
console.log(input); //打印结果: <input type="checkbox" class="check1">
(4)style属性
- 每个元素都有style属性
- 可以通过字符串添加修改行内样式
- 可用设置队形属性设置方式,添加修改行内样式
- 通常用对象的写法
示例: 创建标签并设置样式
function ce(type, style) {
var elem = document.createElement(type);
// ES6的方法 将后面的对象中的属性复制到前面对象中
Object.assign(elem.style, style);
return elem;
}
console.log(typeof (div)); //用法: ce(标签名,样式) var div = ce("div", {
width: "30px",
height: "30px",
border: "1px solid",
backgroundColor: "red"
});
document.body.appendChild(div); //将创建好的元素添加至body
DOM标签属性和对象属性的更多相关文章
- python-类属性和对象属性(转)
class People(object): # 类属性是指定义在类的内部而且在方法的外部的属性 money = 10000 def __init__(self,name,age,gender=1): ...
- python类属性和对象属性、类的普通方法和静态方法
类属性和对象属性的定义 class LearnClass(): #类属性 cls_attr = None def __init__(self,arg): #对象属性 self.obj_attr = a ...
- Html5不可见标签,及标签属性(元素对象属性) a href target name id 相对路径
标签属性分类(元素对象属性) 不可见标签与可见标签: <head></head> 属于不可见标签, 里面的内容一般用于css还有全局的一些变量,声明等. 而且如果 ...
- JavaScript之面向对象的概念,对象属性和对象属性的特性简介
一.大家都知道,面向对象语言有一个标志,那就是他们都有类的概念,通过类我们可以创建任意多个具有相同属性和方法的对象.但ECMAScript(指定JavaScript标准的机构,也就是说JavaScri ...
- Python-类属性与对象属性之间的关系
只要对象的属性未被指定赋值过, 不论类的属性怎么改变, 对象的属性都会跟随改变, 若对象属性被赋值过, 则不跟随类的属性而改变
- JQuery中操作元素的属性_对象属性
我们主要是通过attr去获取元素的属性: 看body内容: <body> <p> 账号:<input type="text" id="una ...
- 在VSCode中编辑HTML文档时,在Dom标签上写style属性时智能提示的问题
首先在VSCode中打开一个HTML文件 然后点右下角的“选择语言模式” 然后点击配置HTML语言的基础设置 然后在打开的界面中(右侧) 输入如下代码 { "editor.quickSugg ...
- python 类属性、对象属性
类的普通属性: dir(Myclass), 返回一个key列表: Myclass.__dir__,返回一个字典: 1.类的数据属性: 2.类的方法: 类的特殊属性: 1.Myclass.__name_ ...
- JavaScript--我发现,原来你是这样的JS:面向对象编程OOP[1]--(理解对象和对象属性类型)
一.介绍 老铁们,这次是JS的面向对象的编程OOP(虽然我没有对象,心累啊,但是可以自己创建啊,哈哈). JS高程里第六章的内容,这章内容在我看来是JS中很难理解的一部分.所以分成三篇博客来逐个理清. ...
随机推荐
- MongoDB安装和入门
什么是MongoDB MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库.采用BSON存储文档数据.2007年10月,MongoDB由10gen团队所发展.2009年2月首度推出.Mo ...
- zsh切换bash提示chsh: no changes made问题
前提纪要:1.我们都知道mac有默认bash工具,在下载zsh后,把一切都配置好后,输入切换命令:chsh - s /bin/zsh ,总是提示 chsh: no changes made错误.那我我 ...
- .net Framework4 类库调用Jwt
通过jwt源码,将其引用的Newtonsoft.Json.dll的9.0版本改为最新的12.0版本后重新生成以下文件. 下载地址: https://files.cnblogs.com/files/Zh ...
- day16 三层装饰器和迭代器
一. 经典的两层装饰器,也是标准装饰器 案例 import time def outter1(func): def wrapper(*args, **kwargs): start = time.tim ...
- python-----内存管理机制
一.深浅拷贝的区别 深浅拷贝一般是在列表嵌套列表的情况下去讨论 浅拷贝:只拷贝列表中对象的引用,嵌套列表中的数据是不会进行全部拷贝的 深拷贝:会把对象里面所有的数据都拷贝一份,不再只拷贝对象的引用,会 ...
- scrapy 源码解析 (三):启动流程源码分析(三) ExecutionEngine执行引擎
ExecutionEngine执行引擎 上一篇分析了CrawlerProcess和Crawler对象的建立过程,在最终调用CrawlerProcess.start()之前,会首先建立Execution ...
- How to install nginx in Ubuntu
The steps for installing the nginx on Ubuntu below. 1.install the packages first. apt-get install gc ...
- mysql中DDL库和表的管理
#DDL /* 数据定义语言 库和表的管理 一.库的管理 创建.修改.删除 二.表的管理 创建.修改.删除 创建:create 修改:alter 删除:drop */ #一.库的管理 #1.库的创建 ...
- CSS实现宽度自适应100%,宽高16:9的比例的矩形
现在我们来讲讲做自适应16:9的矩形要怎么做 第一步先计算高度,假设宽100%,那么高为h=9/16=56.25% 第二步利用之前所说设置padding-bottom方法实现矩形 代码 HTML &l ...
- Ethical Hacking - Web Penetration Testing(8)
SQL INJECTION WHAT IS SQL? Most websites use a database to store data. Most data stored in it(userna ...