document.getElementById(‘xxx‘) 获取到的 DOM 元素对象,有哪些常用属性?

📌 一、通过 getElementById 获取到的是什么?

var element = document.getElementById('myButton');

👉 element 是一个 DOM 元素对象(如 <button><div><input> 等)

这个对象有很多属性(properties),我们可以读取或修改它们来控制元素的行为和外观。


🧩 二、常用 DOM 元素属性详解(按类别)

1️⃣ 通用属性(所有元素都有)

属性类型说明示例
.idstring元素的 id 属性element.id = "newId"
.classNamestring元素的 class 属性(注意不是 classelement.className += " active"
.classListDOMTokenList操作类名的现代方式element.classList.add('hidden')
.tagNamestring元素标签名(大写)<div> → "DIV"
.innerHTMLstring元素内部的 HTML 内容div.innerHTML = "<p>新内容</p>"
.textContentstring元素内部的纯文本内容(安全)div.textContent = "Hello"
.styleCSSStyleDeclaration内联样式对象element.style.color = "red"
.attributesNamedNodeMap所有属性集合element.attributes['data-value']

2️⃣ 表单元素特有属性(<input><button><select> 等)

属性类型说明示例
.valuestring输入框的值input.value = "张三"
.checkedboolean复选框/单选框是否被选中checkbox.checked = true
.disabledboolean是否禁用button.disabled = true
.readOnlyboolean是否只读input.readOnly = true
.selectedIndexnumber<select> 选中的选项索引select.selectedIndex = 1
.optionsHTMLOptionsCollection<select> 的选项集合select.options[0].value

3️⃣ 链接与图片(<a><img>

属性类型说明示例
.hrefstring链接地址link.href = "/home"
.srcstring图片源地址img.src = "logo.png"
.altstring图片替代文本img.alt = "公司logo"

4️⃣ 自定义属性(data-*

属性说明示例
.dataset存放所有 data-* 属性<div data-user-id="123"> → element.dataset.userId

5️⃣ 位置与尺寸(布局相关)

属性说明示例
.offsetWidth / .offsetHeight元素的宽高(含边框)div.offsetWidth
.clientWidth / .clientHeight内容区宽高(不含边框)div.clientWidth
.offsetTop / .offsetLeft相对于父元素的位置div.offsetTop

🎯 三、实际应用示例

假设 HTML:

<input type="text" id="username" class="form-input" value="张三" disabled>
<button id="saveBtn">保存</button>
<div id="message"></div>
var input = document.getElementById('username');
var button = document.getElementById('saveBtn');
var message = document.getElementById('message');

// 1. 读取属性
console.log(input.value);        // "张三"
console.log(input.disabled);     // true

// 2. 修改属性
input.disabled = false;          // 启用输入框
input.value = "李四";             // 修改值
input.className += " edited";    // 添加类名

// 3. 控制 UI
button.disabled = !input.value;  // 如果输入为空,禁用按钮
message.textContent = "欢迎 " + input.value;

// 4. 操作样式
button.style.backgroundColor = "green";
button.style.padding = "10px";

⚠️ 四、常见误区

误区正确做法
element.class❌ 应该用 element.className 或 element.classList
element.getAttribute('value') vs .value❌ .value 是当前值getAttribute('value') 是初始值
element.innerHTML = "<script>alert(1)</script>"❌ 有 XSS 风险,应使用 textContent
document.getElementById(...).value 链式调用时未检查是否存在✅ 先判断 if (element)

🚀 一句话终极总结

document.getElementById('id') 返回的是一个 DOM 元素对象
它像一个“遥控器”,通过它的属性,你可以:

  • 读取/修改内容(.textContent
  • 控制状态(.checked.disabled
  • 改变样式(.style
  • 操作类名(.classList
  • 获取尺寸(.offsetWidth

它不是 getElementById 有属性,而是它返回的“元素”有属性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路生花工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值