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