JavaScript WebApi之 DOM

28 阅读2分钟

DOM 是一个对象,对应HTML中的节点

获取dom

image.png

创建dom

document.createElement() 传入标签名

更改dom结构

dom.remove()从文档树中删除 dom , 不会删除dom对象

dom.removeChild()删除 dom 的某个子节点

dom.insertBefore在 dom 的子节点中,添加一个新节点到另一个节点之前

dom.appendChild()添加一个新节点到 dom 的子节点末尾

获取dom属性

属性指html标签的属性例如 id,name,value...

属性分为两种 自定义属性:HTML 元素标准中未定义的属性 标准属性:HTML 元素本身拥有的属性

所有标准属性均可通过 dom.属性名 得到,其中:

可以修改元素的普通属性,不能修改样式属性

  • 布尔属性会被自动转换为 boolean
  • 路径类的属性会被转换为绝对路径
  • 标准属性始终都是存在的,不管你是否有在元素中属性该属性
  • class 由于和关键字重名,因此需要使用 className

所有的自定义属性均可通过下面的方式操作:

  • dom.setAttribute(name, value),设置属性键值对
  • dom.getAttribute(name),获取属性值

自定义属性和元素源码书写是对应的,可以尝试获取

获取dom 内容

dom.innerText:获取设置节点文本内容 dom.innerHTML:获取设置HTML内容

更改dom样式

在 JS 中,有两种样式:

  • 内联样式:元素的 style 属性中书写的样式
  • 计算样式(最终样式):元素最终计算出来的样式

JS 可以获取内联样式和计算样式,但只能设置内联样式

下面罗列了样式的常见操作:

  • dom.style:获取元素的内联样式,得到样式对象
    • 对象中的所有样式属性均可以被赋值,赋值后即可应用样式到元素的 style 中
  • getComputedStyle(dom):获取元素的计算样式,得到一个样式对象
    • 该样式对象中的属性是只读的,无法被重新赋值

关于样式对象,注意:

  • 当给样式赋值为空字符串时,相当于删除内联样式
  • 当给样式的赋值不合法时,赋值语句无效,不会报错
  • CSS 的短横线命名法,在属性名中表现为驼峰命名法