DOM元素属性和属性很容易被姚混在一起,不清楚,它们是不同的东西,但它们是紧密联系在一起的。很多新朋友,包括我,都不知道。

属性转换为汉语的特点是属性被翻译成汉语的术语和属性。这和汉语的字面意思有点不同。让我们从属性开始。

属性节点的特性,每个DOM元素有一个属性对应的属性来存储所有的节点的属性,属性是一个容器阵列,说准确点是NameNodeMap,容器是缺乏类似的数组和数组而不是相同的,每个数字索引的属性的名称/值对的形成一个属性节点(name = value)。
复制代码如下:您好
以上的div元素的HTML代码,具有类,ID,和自定义gameid,都存储在属性,类似于下面的形式:
复制代码如下:{
可以以这种方式访问属性节点:
复制代码代码如下所示:
var elem = document.getelementbyid('box);
console.log(属性。属性{ 0 }。名称); / /班
console.log(属性。属性{ 0 }。值); / /箱


But IE6-7 stores a lot of things in attributes, which is different from the return results of the standard browsers.It is usually necessary to get a attribute node directly using the getAttribute method:
复制代码如下:console.log(elem.getattribute('gameid ')); / / 880

设置一个属性节点使用setAttribute方法,删除它removeattribute:

复制代码代码如下:elem.setattribute('testattr ','testval);
console.log(elem.removeattribute('gameid ')); / /未定义

属性是通过添加或删除属性节点而动态更新的。
属性是属性。如果我们把DOM元素看作一个公共对象对象,那么属性就是一个以名称-值对(name = value)形式存储在对象中的属性,它也更容易添加和删除属性,与普通对象无关:
复制代码代码如下所示:
elem.gameid = 880; / /添加
console.log(元素。gameid) / /得到
删除elem.gameid / /删除


属性和属性很容易混合在一起,原因是很多属性节点和相应的属性属性,如id和类上的div元素是属性,也有相应的属性,无论什么方法都可以访问和修改。

复制代码代码如下所示:
console.log(elem.getattribute('id')); / /箱
console.log(元素。ID); / /箱
elem.id =你好;
console.log(elem.getattribute('id')); / /你好


但与自定义属性节点或自定义属性无关。
复制代码代码如下所示:
console.log(elem.getattribute('gameid ')); / / 880
console.log(元素。gameid); / /未定义
elem.areaid = '900;
console.log(elem.getattribute('areaid ')) / /空


对于ie6-7,有属性和属性之间没有区别:

复制代码代码如下所示:
console.log(elem.getattribute('gameid ')); / / 880
console.log(元素。gameid); / / 880
elem.areaid = '900;
console.log(elem.getattribute('areaid ')) / / 900


许多新朋友估计很容易陷入困境。
一些默认的DOM属性节点具有相应的属性属性。一些特殊值是布尔值的属性,比如一些表单元素。

复制代码代码如下所示:

VaR(收音机的广播document.getelementbyid);
console.log(radio.getattribute('checked ')); / /检查
Console.log(电台。检查); / /真的


对于这些特殊属性节点,只有节点的存在,属性的对应值是真的,例如:
复制代码代码如下所示:

VaR(收音机的广播document.getelementbyid);
console.log(radio.getattribute('checked ')); / /什么
Console.log(电台。检查); / /真的


最后,为了更好地区分属性和属性,可以得出以下结论:属性节点在HTML代码中可见,而属性只是一个公共名称值对属性。

复制代码代码如下所示:
/ / gameid和ID属性节点
同时通过属性来访问和修改
你好
/ / areaid是唯一的财产
elem.areaid = 900;