• Как удалить все элементы после селектора?

    websitedev
    @websitedev
    Веб-разработчик. Разрабатываю сложные сайты.
    // получаем все блоки внутри блока questions
    let elements = document.getElementById('questions').querySelectorAll('div');
    
    // удаляем блок, если значение этой переменной истинное
    let deleteElement = false;
    
    // крутим цикл по этим блокам
    for (var i = 0; i < elements.length; i++) {
      
      if(deleteElement) {
        elements[i].remove();
      }
      
     // если цикл достиг блоку с id point, тогда следующим шагом нужно удалить блок
      if(elements[i].id === 'point'){
       deleteElement = true;
      }
    }


    Работающий пример
    Ответ написан
    Комментировать
  • Как удалить все элементы после селектора?

    0xD34F
    @0xD34F Куратор тега JavaScript
    После кого надо удалить элементы: const selector = '#point';.

    Удаляем:

    const elem = document.querySelector(selector);
    const parent = elem?.parentNode;
    const elems = [...parent?.children ?? []];
    const index = elems.indexOf(elem);
    elems.slice(-~index || elems.length).forEach(n => parent.removeChild(n));
    
    // или
    
    for (
      const el = document.querySelector(selector);
      el?.nextElementSibling;
      el.nextElementSibling.remove()
    ) ;
    
    // или
    
    document.querySelectorAll(`${selector} ~ *`).forEach(n => n.outerHTML = '');
    Ответ написан
    Комментировать
  • Какой вариант лучше по оптимизации?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Настраивайте тесты или утилиту стресс тестинга.
    Только они вам дадут результат.

    Насчет вашего вопроса. БД очень быстро ищет по индексам, она так устроена. Но если индекса нет то она лопатит все.
    Ответ написан
    Комментировать