转载地址:there
我们经常需要在JavaScript中给Element动态添加各种属性,这可以通过使用setAttribute()来实现,这就涉及到了浏览器的兼容性问题。
使用 . 的方式无法获取自定义的属性;
setAttribute(string name, string value):增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。
elementNode.getAttribute(name): 通过名称获取属性的值。
1、样式问题
setAttribute(class, value)中class是指改变class这个属性,所以要带引号。
vName代表对样式赋值。
例如:
var input = document.createElement(input); input.setAttribute(type, text); input.setAttribute(name, q); input.setAttribute(class,bordercss);
element.setAttribute(class, value); //for firefox element.setAttribute(className, value); //for IE
var bar = document.getElementById(testbt); bar.setAttribute(onclick, javascript:alert('This is a test!'););
document.getElementById(testbt).className = bordercss; document.getElementById(testbt).style.cssText = color: #00f;; document.getElementById(testbt).style.color = #00f; document.getElementById(testbt).onclick= function () { alert(This is a test!); }
onkeyup=this.setAttribute('value',this.value)