首页 > 代码库 > setAttribute和getAttribute
setAttribute和getAttribute
1.
ele.getAttribute(attributeName);
返回元素的指定属性值,如果元素没有该属性,则返回null
2.
ele.setAttribute(attributeName,value);
为元素指定属性设置值,如果没有该属性,则创建该属性,并赋值
3.
在IE 7以及更早版本部分属性的设置应使用另外的名称,为了兼容IE
<script> dom=(function(){ var fixAttr={ tabindex:‘tabIndex‘, readonly:‘readOnly‘, ‘for‘:‘htmlFor‘, ‘class‘:‘className‘, maxlength:‘maxLength‘, cellspacing:‘cellSpacing‘, cellpadding:‘cellPadding‘, rowspan:‘rowSpan‘, colspan:‘colSpan‘, usemap:‘useMap‘, frameborder:‘frameBorder‘, contenteditable:‘contentEditable‘ }, //模拟设置attribute, div=document.createElement(‘div‘); div.setAttribute(‘class‘,‘t‘); var supportSetAttr = div.className === ‘t‘; return { setAttr:function(el, name, val){ el.setAttribute(supportSetAttr ? name : (fixAttr[name] || name), val); }, getAttr:function(el, name){ return el.getAttribute(supportSetAttr ? name : (fixAttr[name] || name)); } } })(); window.onload=function(){ var mydiv=document.getElementById("d1"); dom.setAttr(mydiv, ‘class‘, ‘bg‘); } </script>
在IE 7以及更早版本中,setAttribute(‘class‘,‘fo‘);能为元素添加class=‘fo‘.
getAttribute(‘class‘);能返回fo值,但是为元素添加的类不起作用,应为IE 7及更早版本的类设置用className,而不是class
4.
getAttribute(attributeName);不仅可以得到元素默认属性值,还能得到自定义属性值
ele.attributeName或者ele[‘attributeName‘]只能得到元素默认存在的属性值
5.
var node = ele.getAttributeNode(attributeName)得到属性节点
console.log(node);//name=value的形式
console.log(node.name);
console.log(node.value);
setAttribute和getAttribute
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。