@Mihaillzz

Почему не получается обернуть несколько div в один на тильде?

Не получается обернуть два блока в один, использую
$("#rec218454823, #rec365427599").wrapAll('');
Мне кажется проблема в тильде, можно как-то обойти это? Заранее спасибо!

Вот сайт
testzzzz.tilda.ws

Вот два блока которые пытаюсь обернуть, в редакторе страницы ставлю скрипт (выше написал), но после публикации страницы, ничего не происходит, очень нужно обернуть их для одного скрипта, заранее спасибо
6162af5d84552092873831.png
  • Вопрос задан
  • 510 просмотров
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
{
  const div = document.createElement("div"); // создать обёрточный div
  div.classList.add("QnA-habr-com"); // добавить ему какой-то класс
  const els = document.querySelectorAll("#rec365427333, #rec365427599"); // выбрать элементы
  const parent = els[0].parentNode; // определить родителя первого из них
  parent.appendChild(div); // вложить обёрточный див в родителя 
  els.forEach((el) => div.appendChild(el)) // перенести в обёртку те два
}
Слабое место вашего вопроса в том, что эти ID, вероятно, будут меняться в тильде, и решение перестанет работать. Лучше отбирать элементы как-то иначе. Например, сейчас те два блока, вроде бы, единственные 2 внутри div#allrecords и можно их отбирать как
const els = document.querySelectorAll("div#allrecords > div");
Ответ написан
Комментировать
tildamaster
@tildamaster
Все для Tilda → www.ilda.top
Во-первых, ID первого блока не совпадает (на текущий момент)
#rec218454823 и #rec365427333

Во вторых в какой тег вы хотите обернуть блоки?
$("#rec365427333, #rec365427599").wrapAll('<div/>');

Либо то же самое для однотипных блоков
$('[data-record-type="396"]').wrapAll('<div/>');

Скрипт размещаете под блоками
That's all)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы