Dom新find

时间:2022-11-10 19:58:08

1.HTML标签和属性是不区分大小写的,但JS是区分大小写的;所以(1)HTML专有的接口的属性应该以小写字母开头,如果属性名由多个单词构成,第二个及接下来的每个单词的首字母都要大写。(2)有些HTML属性名在JS中是保留字,一般处理是为属性名加前缀‘html’。例如;for变为htmlfor,class变为className。

2.HTML属性值通常是字符串,也可以是布尔值或数值。但任何HTML元素的style属性值是一个CSSStyleDeclaration对象,而不是字符串。(对象的属性之间用分号隔开,而不是逗号 <div style="width:200px;height:300px;border:1px solid red"></div> )

3.在JS中delete操作符无法删除元素属性。

4.getAttribute()和setAttribute()方法来查询和设置非标准HTML属性,也可用于查询和设置XML文档元素上的属性。但有些特殊:(1)getAttribute()方法仅返回字符串,而不返回数值,布尔值和对象。(2)方法使用标准属性名,甚至当这些名称为JS保留字也不例外。

5.hasAttribute()和removeAttribute()用来检测是否存在和完全删除属性,但属性值为布尔值时非常有用。

6.数据集属性(自定义属性),在HTML5文档中,任意以‘data-’为前缀的小写属性名字都是合法的,该属性和其他属性完全一样,甚至更灵活好用。

 dataset属性(1)为一个对象,属性为所有去掉前缀的data自定义属性的集合 (2)该属性时实时的,可用于查询,修改,删除等操作

 <div data-count = '5'></div>
var div = document.getElementsByTagName('div')[0];
var x = div.dataset.count;//x == 5

7.Node类型定义了attributes属性,(1)是一个只读、实时的类数组对象,代表了元素的所有属性(2)可用索引和属性名访问,意味可枚举元素的所有属性。