Могу ли я использовать JavaScript для удаления изображения, которое не содержит идентификатора?

У меня небольшие проблемы с этим. Есть ли способ удалить изображение со страницы сайта с помощью 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();

под id вы имеете в виду атрибут id в теге img? Вы хотите удалить все изображения в документе, у которых нет атрибута id, верно?

Manas Khandelwal 11.05.2024 03:43

Привет, не все изображения. Я бы хотел просто удалить это конкретное изображение с этим конкретным URL-адресом. Не уверен, что это возможно.

VeeSands 11.05.2024 03:45

Есть ли ошибка в консоли?

Shuo 11.05.2024 03:51

В вашем коде нет ошибок. Вы проверили инструменты разработчика Google и обнаружили некоторые ошибки.

moon 11.05.2024 03:53

Да, я не вижу ошибок, вот код того же https://codepen.io/manaskandelwal1/pen/gOJbYaB?editors=1010

Manas Khandelwal 11.05.2024 03:53

Также попробуйте document.querySelector(img[src = "Storage.googleapis.com/icons‌​/markup.png"]).remov‌​e(); на случай, если вы допустили ошибку при импорте jquery.

Manas Khandelwal 11.05.2024 03:55

Код работает нормально, как указано. Вы проверяли этот селектор? console.info($("img[src='https://storage.googleapis.com/icons‌​/markup.png']").leng‌​th); до/после (jsfiddle.net/sh4en3qy)? Если раньше это 0, это селектор. Вы запускаете свой код в <head>? В этом случае оберните его в doc.ready $(() => { ... });. Есть ли какие-либо ошибки на вкладке консоли или сети, например 403 на jquery.js? Что такое атрибут URL? console.info($("img").map((_, e) => e.src).get()) соответствует ли он тому, что вы тестируете? Тот же случай?

fdomn-m 11.05.2024 12:30

Спасибо вам всем! В итоге я использовал Javascript и добавил задержку в 0,15 секунды. Похоже, что javascript выполнялся до загрузки html. Не самое идеальное решение, но в итоге оно сработало.

VeeSands 12.05.2024 02:21
Поведение ключевого слова "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) для оценки ваших знаний,...
1
8
58
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

У вашего селектора атрибутов возникла проблема. Попробуйте использовать двойные кавычки вместо одинарных:

$('img[src = "https://storage.googleapis.com/icons/markup.png"]').remove();

Имеет ли это? Нет. Замена " и ' не имеет никакого эффекта.

fdomn-m 11.05.2024 12:28

Спасибо! В итоге я использовал Javascript и добавил задержку в 0,15 секунды. Похоже, что javascript выполнялся до загрузки html. Не самое идеальное решение, но в итоге оно сработало.

VeeSands 12.05.2024 02:22

Что ж, похоже, ваш jquery загружался в заголовок или над содержимым тела с тегом сценария, и по этой причине он не смог найти никаких элементов. Лучшим подходом, чем добавление тайм-аута, было бы размещение тега <script src = "..."></script> прямо над тегом </body> (закрывающего тела) и обертывание кода jQuery/JS внутри прослушивателя готовности документа: $(document).ready(function () { ... }); или $(function() { ... });. Таким образом, ваш код будет выполняться, когда документ будет загружен и готов, гарантируя, что селекторы запросов jQuery/JS найдут существующие элементы.

M. Çağlar TUFAN 12.05.2024 04:56

Пожалуйста, обратитесь: Learn.jquery.com/using-jquery-core/document-ready

M. Çağlar TUFAN 12.05.2024 04:57

Спасибо!! Позвольте мне посмотреть, смогу ли я заставить ваш подход работать со своей стороны. Временная задержка определенно не идеальна.

VeeSands 13.05.2024 00:08

Спасибо вам всем! После долгих испытаний я использовал 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); 

});

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