setAttribute 和 getAttribute区别

² 赋值....setAttribute("a","1")    将1赋值给a

² 取值....getAttribute("a")  取出a的值,为1

IE中是不认识class属性的,需改为className属性,同样,在Firefox中,也是不认识className属性的,Firefox只认识class属性,所以通常做法如下:

element.setAttribute(class, value);  //for firefox

element.setAttribute(className, value);  //for IE

IE:可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性

例如:设置 input 元素的 type 属性:
document.getElementsByTagName("input")[0].setAttribute("type","button");

Firefox:只能使用getAttribute()获取自定义属性.

解决方法:统一通过getAttribute()获取自定义属性

document.getElementById('box').getAttribute('id');//获取元素的 id 值

document.getElementById('box').id;//获取元素的 id 值

document.getElementById('box').getAttribute('mydiv');//获取元素的自定义属性值

document.getElementById('box').mydiv//获取元素的自定义属性值, IE 不支持非

document.getElementById('box').getAttribute('class');//获取元素的 class 值,IE 不支持

document.getElementById('box').getAttribute('className');//非 IE 不支持

PS:在 IE7 及更低版本的IE浏览器中,使用 setAttribute()方法设置 class 和 style 属性是没有效果的,虽然 IE8 解决了这个bug,但还是不建议使用。

removeAttribute()方法

removeAttribute()可以移除 HTML 属性。

document.getElementById('box').removeAttribute('style');

PS:IE6 及更低版本不支持 removeAttribute()方法。


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: setattribute和getattribute是JavaScript中的两个方法,用于设置和获取HTML元素的属性。 setattribute方法可以用来设置HTML元素的属性,例如: ``` document.getElementById("myElement").setAttribute("class", "myClass"); ``` 这会将ID为“myElement”的元素的class属性设置为“myClass”。 getattribute方法可以用来获取HTML元素的属性,例如: ``` var myClass = document.getElementById("myElement").getAttribute("class"); ``` 这会将ID为“myElement”的元素的class属性的值存储在变量myClass中。 ### 回答2: setAttribute和getAttribute都是Javascript中常用的方法,主要用于操作和获取HTML元素的属性。 setAttribute方法可以用来动态地改变HTML元素的属性值,例如: document.getElementById("myImg").setAttribute("src", "newImg.jpg"); 这段代码会将id为“myImg”的元素的src属性修改为“newImg.jpg”。setAttribute方法有两个参数,第一个参数是要设置的属性名,第二个参数是要设置的属性值。 getAttribute方法则用于获取HTML元素的属性值,例如: var title = document.getElementById("myTitle").getAttribute("title"); 这段代码会获取id为“myTitle”的元素的title属性值,并将其赋值给变量“title”。getAttribute方法有一个参数,即要获取的属性名。 需要注意的是,setAttribute和getAttribute只能操作和获取HTML元素的标准属性,不能操作和获取行内样式的属性。如果要操作和获取行内样式的属性,需要使用style属性。 另外,需要注意的是,在HTML5规范中,可以直接通过对象.属性的方式来设置和获取HTML元素的标准属性,例如: document.getElementById("myImg").src = "newImg.jpg"; var title = document.getElementById("myTitle").title; 但是,这种方式只适用于HTML元素的标准属性,不能操作和获取非标准属性或自定义属性。因此,在一些较老的浏览器中,仍然需要使用setAttribute和getAttribute方法来操作和获取HTML元素的属性。 ### 回答3: setAttribute和getAttribute是JavaScript中DOM(Document Object Model)的元素属性操作方法。setAttribute方法用于设置指定元素的属性值,而getAttribute方法用于获取指定元素的属性值。 setAttribute方法需要两个参数:属性名和属性值。例如,如果要将元素的class属性设置为“myclass”,则可以使用以下代码: element.setAttribute("class", "myclass"); 使用getAttribute方法来检索属性值。例如,如果想要获取元素的class属性的值,则可以使用以下代码: var classname = element.getAttribute("class"); 当使用setAttribute方法设置属性值时,它将覆盖任何现有的相同属性。因此,在设置属性值之前,最好先检查其是否已存在。 getAttribute方法返回属性值的字符串表示形式。如果属性不存在,则返回null。请注意,它不会返回数字对象或布尔值。 在JavaScript中,setAttribute和getAttribute方法不仅适用于HTML元素,也适用于XML文档中的元素。因此,在处理XML文档时,这些方法比较有用。 总之,setAttribute和getAttribute方法对于操作DOM元素的属性非常有用,可以帮助我们控制HTML和XML文档的表现和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值