删除在 Javascript 中使用 Xpath 找到的元素

Remove Element Found with Xpath in Javascript

我正在构建一个 Chrome 扩展。试图删除包含特定文本的 HTML 元素。使用 Xpath 找到了元素。但是元素没有移除,也没有报错。

<div>
     <div>Some Text</div>
</div>

let element = document.evaluate("/*[text() = 'Some Text']", document, null, XPathResult.ANY_TYPE, null)
element.remove();

这会运行,但不会删除该元素。

document.evaluate 不是 return 一个 DOM 节点。它 return 是 XPathResult。请参阅文档 here.

有关如何将 JQuery 与 XPath 结合使用的指南,另请参阅 this Whosebug question

改变

let element = document.evaluate("/*[text() = 'Some Text']", document, null, XPathResult.ANY_TYPE, null)

let element = document.evaluate("//*[text() = 'Some Text']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
element.singleNodeValue.remove()

看看它是否有效。