JavaScript获取、设置与移除元素属性的三种实现方式

作者:闭包旅人

时间:2026-10-27

浏览:285

本文详细介绍JavaScript中操作HTML元素属性的三种常用方法。第一种通过HTMLElement对象的属性直接读写;第二种利用getAttribute、setAttribute和removeAttribute方法,需注意IE6/7的兼容性问题;第三种通过attributes属性集合操作节点值。文章结合具体代码示例,对比各方法的适用场景与浏览器兼容性差异,帮助开发者根据实际需求选择最佳方案。

文章目录

HTML示例结构

以如下HTML结构作为示例基础:


具体代码如下:

 
<div id="myDiv" class="bd" title="我是div">
<img id="img1" />
<a id="myA" href = "http://www.baidu.com">百度</a>
</div>

通过HTMLElement对象属性操作

1. 通过HTMLElement类型(对象)的属性获得和设置元素特性


具体代码如下:

 
var div = document.getElementById("myDiv");
var img = document.getElementById("img1");
var a = document.getElementById("myA");
// 取得元素特性
alert(div.id); //"myDiv"
alert(div.className); //"bd",这里不是div.class,是因为class是保留关键字
alert(div.title); //"我是div"
alert(a.href); //http://www.baidu.com
// 设置元素特性
div.id = "myDiv2"; //id改为"myDiv2"
div.className = "ft"; //class改为"ft",如果存在名为"ft"的样式,会立刻变为"ft"样式,浏览器会立刻反应出来
div.title = "我是myDiv2"; //title改为"我是myDiv2"
div.align = "center"; //设置居中对齐
img.src ="images/img1.gif"; //设置图片路径
a.innerHTML ="新浪"; //"百度"改为"新浪"
a.href = "http://www.sina.com.cn"; //重新设置超链接

通过DOM方法操作特性

2. 通过getAttribute()、setAttribute()和removeAttribute() 方法,获取、设置、移除元素的特性(不推荐使用,前两个方法IE6,7中有异常,第三个方法IE6不支持,设置自定义特性时可以使用)


getAttribute() 方法,用来获取元素特性。接受一个参数,即要获得元素的特性名


setAttribute() 方法,用来设置元素特性。接受两个参数,即要获得元素的特性名和特性值


removeAttribute() 方法,用来移除元素的特性。接受一个参数,即要移除的元素的特性名


具体代码如下:

 
var div = document.getElementById("myDiv");
var img = document.getElementById("img1");
var a = document.getElementById("myA");
// 取得元素特性
alert(div.getAttribute("id")); //"myDiv"
alert(div.getAttribute("class")); //"bd",注意这里是class,而不是className,与上面不同
alert(div.getAttribute("title")); //"我是div"
alert(a.getAttribute("href")); //http://www.baidu.com
// 设置元素特性
div.setAttribute("id","myDiv2"); //id改为"myDiv2"
div.setAttribute("class","ft"); //class改为"ft",这里同样是class,而不是className
div.setAttribute("title","我是myDiv2"); //title改为"我是myDiv2"
div.setAttribute("align","center"); //设置居中对齐
img.setAttribute("src","images/img1.gif"); //设置图片路径
// 移除元素特性
div.removeAttribute("class"); //移除class特性

通过attributes属性操作

3. 通过attributes属性,获取、设置、移除元素的特性


具体代码如下:

 
var div = document.getElementById("myDiv");
// 取得元素特性
alert(div.attributes["id"].nodeValue); //"myDiv"
// 设置元素特性
div.attributes["id"].nodeValue = "myDiv2"; //id改为"myDiv2"
// 移除元素特性
div.attributes.removeNamedItem("class"); //移除class特性

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章