У меня небольшие проблемы с этим. Есть ли способ удалить изображение со страницы сайта с помощью Javascript, если у изображения нет идентификатора? Вот страница сайта с URL-адресом ссылки:
<img src = "https://storage.googleapis.com/icons/markup.png" alt = "Mark Up Icon" width = "40" height = "40" data-decorative = "true">
Я пробовал следующее, но, похоже, это не работает:
$("img[src='https://storage.googleapis.com/icons/markup.png']").remove();
Привет, не все изображения. Я бы хотел просто удалить это конкретное изображение с этим конкретным URL-адресом. Не уверен, что это возможно.
Есть ли ошибка в консоли?
В вашем коде нет ошибок. Вы проверили инструменты разработчика Google и обнаружили некоторые ошибки.
Да, я не вижу ошибок, вот код того же https://codepen.io/manaskandelwal1/pen/gOJbYaB?editors=1010
Также попробуйте document.querySelector(img[src = "Storage.googleapis.com/icons/markup.png"]).remove(); на случай, если вы допустили ошибку при импорте jquery.
Код работает нормально, как указано. Вы проверяли этот селектор? console.info($("img[src='https://storage.googleapis.com/icons/markup.png']").length); до/после (jsfiddle.net/sh4en3qy)? Если раньше это 0, это селектор. Вы запускаете свой код в <head>? В этом случае оберните его в doc.ready $(() => { ... });. Есть ли какие-либо ошибки на вкладке консоли или сети, например 403 на jquery.js? Что такое атрибут URL? console.info($("img").map((_, e) => e.src).get()) соответствует ли он тому, что вы тестируете? Тот же случай?
Спасибо вам всем! В итоге я использовал Javascript и добавил задержку в 0,15 секунды. Похоже, что javascript выполнялся до загрузки html. Не самое идеальное решение, но в итоге оно сработало.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У вашего селектора атрибутов возникла проблема. Попробуйте использовать двойные кавычки вместо одинарных:
$('img[src = "https://storage.googleapis.com/icons/markup.png"]').remove();
Имеет ли это? Нет. Замена " и ' не имеет никакого эффекта.
Спасибо! В итоге я использовал Javascript и добавил задержку в 0,15 секунды. Похоже, что javascript выполнялся до загрузки html. Не самое идеальное решение, но в итоге оно сработало.
Что ж, похоже, ваш jquery загружался в заголовок или над содержимым тела с тегом сценария, и по этой причине он не смог найти никаких элементов. Лучшим подходом, чем добавление тайм-аута, было бы размещение тега <script src = "..."></script> прямо над тегом </body> (закрывающего тела) и обертывание кода jQuery/JS внутри прослушивателя готовности документа: $(document).ready(function () { ... }); или $(function() { ... });. Таким образом, ваш код будет выполняться, когда документ будет загружен и готов, гарантируя, что селекторы запросов jQuery/JS найдут существующие элементы.
Пожалуйста, обратитесь: Learn.jquery.com/using-jquery-core/document-ready
Спасибо!! Позвольте мне посмотреть, смогу ли я заставить ваш подход работать со своей стороны. Временная задержка определенно не идеальна.
Спасибо вам всем! После долгих испытаний я использовал Javascript и добавил задержку в 0,15 секунды. Похоже, что javascript выполнялся до загрузки html. Не самое идеальное решение, но в итоге оно сработало.
// Delay in milliseconds before executing the removeImages function
var delay = 150; // 0.15 seconds
// Set a timeout to delay the execution
setTimeout(removeImages, delay);
});
под
idвы имеете в виду атрибутidв тегеimg? Вы хотите удалить все изображения в документе, у которых нет атрибутаid, верно?