在 【Web APIs】JavaScript 操作元素 ① ( 修改元素内容 | innerText 属性修改元素文本内容 | innerHTML 属性修改元素 HTML 内容 ) 博客中介绍了 使用
修改 DOM 元素标签内容的 ;
本篇博客开始介绍 通过 DOM 操作 修改元素属性 ;
在 JavaScript 中 , DOM 操作 可以 修改 标签元素 的 属性 ;
<img>
, 可以 修改 id、alt 、src、width / height 等属性 ; <a>
, 可 修改 href、 target、 download 等属性 ; <input>
, 可 修改 type value placeholder disabled 等属性 ; DOM ( Document Object Model ) 操作元素属性 的 最简单的 方式 , 就是 " 直接访问属性 " , 使用 .
操作符直接访问 标签元素 的 属性成员 ;
代码示例 : 在下面的代码中 ,
element.id = 'newId';
方式 , 修改元素的 id 属性值 ;element.style.color = 'blue';
方式 , 修改 元素 的 style 属性样式 的 color 属性值 ;// 获取元素对象
let element = document.getElementById('myElementId');
// 设置属性
element.id = 'newId';
element.className = 'newClassName';
// 获取属性
let currentId = element.id;
let currentClass = element.className;
// 直接修改样式属性
element.style.color = 'blue';
element.style.fontSize = '16px';
完整代码示例如下 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- 设置 meta 视口标签 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript</title>
<style></style>
</head>
<body>
<button id="myButton">Click me</button>
<button id="myButton2">Click me</button>
<div style="width: 200px; height: 200px; background-color: black;"></div>
<script>
// 注意 : HTML 文档加载顺序是从上到下加载
// 这里要先加载标签 , 然后加载 JavaScript 脚本
// 根据 id 获取元素
var bt = document.getElementById('myButton');
var bt2 = document.getElementById('myButton2');
// 使用 标签选择器获取元素
var rect = document.querySelector('div');
// 点击按钮 修改 div 布局的样式
bt.onclick = function() {
rect.style = "width: 300px; height: 300px; background-color: red;";
}
bt2.onclick = function() {
rect.style.backgroundColor = "blue";
}
</script>
</body>
</html>
执行效果 :
调用 DOM 元素 Element 类型 的 setAttribute、getAttribute 和 removeAttribute 方法 , 也可以访问属性 , 这样可以直接写出通用代码 , 只需要变更字符串参数 , 即可实现批量修改元素属性 ;
// 示例:设置元素的 id 属性为 "bt"
element.setAttribute('id', 'bt');
// 示例:获取元素的 id 属性值
let titleValue = element.getAttribute('id');
// 示例:移除元素的 id 属性
element.removeAttribute('id');
代码示例 :
// 设置属性
element.setAttribute('data-info', 'example');
element.setAttribute('title', 'This is a tooltip');
// 获取属性
let dataInfoValue = element.getAttribute('data-info');
let titleValue = element.getAttribute('title');
// 移除属性
element.removeAttribute('data-info');
完整代码示例 :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- 设置 meta 视口标签 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript</title>
<style></style>
</head>
<body>
<button id="myButton">Click me</button>
<button id="myButton2">Click me</button>
<div style="width: 200px; height: 200px; background-color: black;"></div>
<script>
// 注意 : HTML 文档加载顺序是从上到下加载
// 这里要先加载标签 , 然后加载 JavaScript 脚本
// 根据 id 获取元素
var bt = document.getElementById('myButton');
var bt2 = document.getElementById('myButton2');
// 使用 标签选择器获取元素
var rect = document.querySelector('div');
// 点击按钮 修改 div 布局的样式
bt.onclick = function() {
rect.setAttribute('style', 'width: 300px; height: 300px; background-color: red;');
}
bt2.onclick = function() {
rect.setAttribute('style', 'width: 400px; height: 400px; background-color: blue;');
}
</script>
</body>
</html>
执行效果 :