Как jquery скриптом удалять элементы, содержащие в id "block"
Как это решить: Допустим у меня есть span-ы с id "blockquote", "block" и мне нужно удалить ВСЕ элементы, содержащие в id "block". Как это сделать?
<html>
<body>
<span id="blockquote">это должно удалиться</span><br>
<span id="block">это должно удалиться</span><br>
<span id="vlock">это <b>НЕ</b> должно удалиться</span>
<script>
let name = $("span");
if (span.attr("id").split("block").length >= 1) {
name.remove();
}
</script>
</body>
</html>
, но это не сработало. Возможно из-за моего "мастерства".
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Полагаю должно быть что-то такое:
let name = $("span");
name.each(function() {
if ($(this).attr("id").includes('block')) {
$(this).remove();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<span id="blockquote">это должно удалиться</span><br>
<span id="block">это должно удалиться</span><br>
<span id="vlock">это <b>НЕ</b> должно удалиться</span>
Суть: выбираем все span и пробегаемся по ним циклом, внутри цикла проверяем если у текущего элемента, на котором сейчас во время итерации находится цикл $(this), то берём значение атрибута и проверяем на содержание в нём текста. Если есть, то его же и удаляем, опять же через $(this)