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()方法。


你可能感兴趣的:(javascript)