DOM节点操作

Posted mushitianya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOM节点操作相关的知识,希望对你有一定的参考价值。

获取 DOM 节点:

var div1 = document.getElementById('div1') // 元素
var divList = document.getElementsByTagName('div')  // 集合
console.log(divList.length)
console.log(divList[0])

var containerList = document.getElementsByClassName('.container') // 集合
var pList = document.querySelectorAll('p') // 集合

prototype:

DOM 节点就是一个 JS 对象,它符合之前讲述的对象的特征 ———— 可扩展属性

var pList = document.querySelectorAll('p')
var p = pList[0]
console.log(p.style.width)  // 获取样式
p.style.width = '100px'  // 修改样式
console.log(p.className)  // 获取 class
p.className = 'p1'  // 修改 class

// 获取 nodeName 和 nodeType
console.log(p.nodeName)
console.log(p.nodeType)

Attribute:

property 的获取和修改,是直接改变 JS 对象,而 Attibute 是直接改变 html 的属性。两种有很大的区别

var pList = document.querySelectorAll('p')
var p = pList[0]
p.getAttribute('data-name')
p.setAttribute('data-name', 'imooc')
p.getAttribute('style')
p.setAttribute('style', 'font-size:30px;')

DOM 树操作

  • 新增节点
var div1 = document.getElementById('div1')
// 添加新节点
var p1 = document.createElement('p')
p1.innerHTML = 'this is p1'
div1.appendChild(p1) // 添加新创建的元素
// 移动已有节点
var p2 = document.getElementById('p2')
div1.appendChild(p2)
  • 获取父元素
var div1 = document.getElementById('div1')
var parent = div1.parentElement
  • 获取子元素
var div1 = document.getElementById('div1')
var child = div1.childNodes
  • 删除节点
var div1 = document.getElementById('div1')
var child = div1.childNodes
div1.removeChild(child[0])

以上是关于DOM节点操作的主要内容,如果未能解决你的问题,请参考以下文章

dom操作

深入理解DOM节点类型第四篇——文档片段节点DocumentFragment

DOM操作 ——如何添加移除移动复制创建和查找节点等。

DocumentFragment批量操作dom

DOM操作——怎样添加移除移动复制创建和查找节点

DOM操作怎样添加移除移动复制。创建和查找节点?