「这是我参与11月更文挑战的第 21 天,活动详情查看:2021最后一次更文挑战」
Element 类型
Element 类型是 web 开发中最常用的类型,对外提供了访问元素标签名、子节点以及属性的能力
Element 类型的节点具备这些特点:
- nodeType = 1
- nodeName 为元素的标签名
- nodeValue 值为 null
- parentNode 为 Document/Element 对象
- 子节点可以是 Element/Text/Comment 等类型
我们可以通过 nodeName/tagName 来获取元素的标签名,这两个属性都返回相同的值(tagName 属性更加语义化方便理解)
考虑到不同浏览器之间的行为,在获取 tagName 并进行 html 标签类型比较的时候,建议对这个值进行转 大/小写 进行判断
html 标签
基本属性
所有的 html 元素,都是 HTMLElement 类型,而 HTMLElement 类型继承自 Element,并在此之前添加了一些属性
html 元素都会具备如下的属性:
- id,元素在文档内的唯一标识
- title,鼠标悬浮在元素上显示的提示信息
- lang,元素内容的语言代码(基本不用)
- dir,语言的书写方向,ltr 从左往右,rtr 从右往左,也很少用
- className,class 属性,指定元素的 css 样式(class 类关键字,给占用了)
基本属性的获取
上述的属性,都可以通过 元素.属性 的方式获取到
如果这个标签中没有使用到这个属性,对应的获取操作就会返回空字符
如果一个标签上有多个 css 样式,myDiv.className 实际上也是将 class 属性上的值作为一个字符串进行返回
基本属性的修改
我们可以将属性作为一个变量,直接为他赋予一个字符串类型的值
上面的演示只是表明了对应的属性确实改变了,下面一个例子,以 className 为例,证明了属性修改确实会实时更新到 dom 节点上