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
最新文章
- JavaScript学习笔记(1))——————call,apply方法
- SQL 基础
- poj 2186 有向图强连通分量
- java数组元素的输出
- iOS开发——视频播放 待更新……
- Qt快速入门系列教程目录
- JQuery学习(3)
- Spring AOP拦截对Controller的请求时的配置失败
- leetcode刷题笔记342 4的幂
- Android中PropertyAnimation属性动画详解(一)
- Mac上webstorm与git仓库建立连接
- Maven 错误 :The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available
- 【20171123】【GITC精华演讲】贝业新兄弟李济宏:如何做到企业信息化建设的加减乘除
- 利用springloaded进行java jar&;class的动态替换
- Windows修改默认远程端口号3389
- 网站PV、UV以及查看方法
- BaseRecyclerViewAdapterHelper使用
- iscroll5实现下拉加载更多
- python_微信 跳一跳
- Python模块之pxssh
热门文章
- css input checkbox复选框控件 样式美化的多种方案
- ZJOI2008 骑士(树型DP)
- P3261 [JLOI2015]城池攻占 题解
- 【线型DP模板】最上上升子序列(LIS),最长公共子序列(LCS),最长公共上升子序列(LCIS)
- 结合SpEL使用@Value-基于配置文件或非配置的文件的值注入-Spring Boot
- day38 并发编程(理论)
- 阻止 iPhone 视频自动全屏
- 循序渐进VUE+Element 前端应用开发(15)--- 用户管理模块的处理
- Java8——方法引用
- 微信小程序反编译~2020年