unicorn/prefer-modern-dom-apis 样式
其作用
强制使用
childNode.replaceWith(newNode)而非parentNode.replaceChild(newNode, oldNode)referenceNode.before(newNode)而非parentNode.insertBefore(newNode, referenceNode)referenceNode.before('text')而非referenceNode.insertAdjacentText('beforebegin', 'text')referenceNode.before(newNode)而非referenceNode.insertAdjacentElement('beforebegin', newNode)
为什么这很糟糕?
使用较新的 DOM API 有很多好处,例如
- 无需遍历父节点。
- 一次追加多个节点。
DOMString和 DOM 节点对象都可进行操作。
示例
针对此规则的不正确代码示例
javascript
oldChildNode.replaceWith(newChildNode);针对此规则的正确代码示例
javascript
parentNode.replaceChild(newChildNode, oldChildNode);