gpt4 book ai didi

javascript - AppleScript (Javascript) : Remove class, 如果

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:23 27 4
gpt4 key购买 nike

如何删除 Safari 上的每个类,只针对特定文本?

我知道下面的脚本会删除所有名为 :

的类

sortable itemDescription

tell application "Safari Technology Preview" to ¬
do JavaScript ¬
"document.querySelectorAll(\"[class=\\\"sortable itemDescription\\\"]\").forEach(el => el.remove());" in current tab of window 1

但是我可以添加一个 if 语句来只删除类,如果文本是,在这个例子中:

"(unwanted") :

<td class="sortable itemDescription">

(unwanted)

</td>

最佳答案

.forEach 中的 lambda 可以扩展以包含执行删除的附加条件,以检查文本。元素的文本内容可以通过.textContent获取。由于实际文本周围有大量空白,.trim() 可用于提取实际文本以进行比较。

document.querySelectorAll("[class=\"sortable itemDescription\"]")
.forEach(el => {
if (el.textContent.trim() === "(unwanted)") {
el.remove();
}
});

AppleScript 对这个问题来说是多余的。只看 JavaScript,被问及的问题中的当前代码如下:

document.querySelectorAll("[class=\"sortable itemDescription\"]").forEach(el => el.remove());

需要对引号进行一些转义才能将此答案中的解决方案放回 AppleScript:

tell application "Safari Technology Preview" to ¬
do JavaScript ¬
"document.querySelectorAll(\"[class=\\\"sortable itemDescription\\\"]\").forEach(el => { if (el.textContent.trim() === \"(unwanted)\") { el.remove(); } });" in current tab of window 1

关于javascript - AppleScript (Javascript) : Remove class, 如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com