Skip to content
← Back to rules

unicorn/prefer-modern-dom-apis 风格

An auto-fix is available for this rule.

它做了什么

强制使用以下现代 DOM API:

  • 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);

如何使用

要通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "rules": {
    "unicorn/prefer-modern-dom-apis": "error"
  }
}
bash
oxlint --deny unicorn/prefer-modern-dom-apis

参考资料