理解Attr类型

轻轻松松Attr类型

元素数据在DOM中通过Attr类型表示。Attr类型构造函数和原型在所有浏览器中都可以直接访问。技术上讲,属性是存在于元素attribute属性中的节点。Attr节点具有一下特征:

  • nodeType等于2;
    
  • nodeName值为属性名;
    
  • nodeValue值为属性值;
    
  • parentNode值为null;
    
  • 在HTML中不支持子节点;
    
  • 在XML中子节点可以是Text或者EntityReference。
    

属性点尽管都是节点,却不被认为是DOM文档树的一部分。Attr节点很少直接被引用通常开发者更喜欢使用getAttribute(),removerAttribute()和setAttribute()方法操作属性。
Attr对象上有3个属性:name,value和specified。
其中,那么包含属性名(与nodeName一样),value包含属性值(与nodeValue一样),而specified是一个布尔值,表示属性使用的是默认值还是被指定的值。
可以使用document.createAttribute()方法创建行的Attr节点,参数为属性名。比如,要给元素添加align属性,可以使用以下代码:

let attr = document.createAttribute("align");
attr.value = "left";
element.setAttributeNode(attr);

alert(element.attributes["align"].value);    //"left"
alert(element.getAttributeNode("align").value);   //"left"
alert(element.getAttribute("aoign"));    //"left"

在这个例子中,首先创建了一个新属性。调用createAttribute()并传入"align"为新属性设置了name属性,因此就不用再设置了,随后,value属性被赋值为"left"。为把这个新属性添加到元素上,可以使用元素的setAttributeNode()方法。添加这个属性后,可以通过不同的方式访问它,包括了attributes属性,getAttrbuteNode()和getAttribute()方法。其中attributes属性和getAttributeNode()方法都返回对应的Attr节点而getAttribute()方法只返回属性的值。

将属性作为节点来访问大多数情况下并无必要
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值