# 元素节点

let html = document.documentElement;
let body = document.body;
let head = document.head;

# 节点

// 子节点
document.body.childNodes;
document.body.children;
document.body.firstElementChild;
document.body.lastElementChild;
// 父节点
document.body.parentNode;
document.body.parentElement;
// 下一个兄弟节点
document.head.nextSibling;
document.head.nextElementSibling;
// 上一个兄弟节点
document.body.previousSibling;
document.body.previousElementSibling;

# nodeType

  • 对于元素节点 elem.nodeType == 1
  • 对于文本节点 elem.nodeType == 3
  • 对于 document 对象 elem.nodeType == 9

# nodeName

  • tagName 属性仅适用于 Element 节点。
  • nodeName 是为任意 Node 定义的:
    • 对于元素,它的意义与 tagName 相同。
    • 对于其他节点类型(text,comment 等),它拥有一个对应节点类型的字符串。

# 搜索

document.getElementById(id);
document.getElementsByTagName(tag);
document.getElementsByClassName(tag);
document.getElementsByName(tag);
document.querySelectorAll(css);
document.querySelector(css);
elem.matches(css);

# Attribute

  • elem.hasAttribute(name) — 检查特性是否存在。
  • elem.getAttribute(name) — 获取这个特性值。
  • elem.setAttribute(name, value) — 设置这个特性值。
  • elem.removeAttribute(name) — 移除这个特性。