Как 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)

→ Ссылка