AppleScript (Javascript): удалить класс, если

Как я могу удалить каждый класс в 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>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Лямбда в .forEach может быть расширена, чтобы включить дополнительное условие при выполнении удаления, чтобы проверить текст. Текстовое содержимое элемента можно получить с помощью .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

Другие вопросы по теме