@kiberlain

Как вставить закрывающие тэги используя javascript?

Смешное затруднение возникло когда потребовалось блок со сгенеренным слайдером обвернуть в дополнительную вёрстку. Как выяснилось с помощью jquery нельзя просто так взять и вставить перед дивом цепочки закрывающих дивов
Вопрос - а как это сделать на чистом javascript? 426860d35a8d462f931b520730e09844.png
  • Вопрос задан
  • 4090 просмотров
Пригласить эксперта
Ответы на вопрос 3
ILoveYAnny
@ILoveYAnny
Я может быть чегото не понимаю, но почему нельзя ? А как же $('selector').after() и $('selector').before() ? Либо если элемент не DOM, тогда $($('selector')).next() и $($('selector')).before()
В вашем случае :
$($('.new')[0]).before('<div id=\"teg\">')
$($('#teg')).before('<div id=\"teg1\">')
Ответ написан
Writerim
@Writerim
Заполнить позже...
через метод html() ?

jsfiddle.net/p1usmrvh

ну и кстати ничего удивительного нету. jquery насколько помню сначала парсит документ.
Ответ написан
standy
@standy
Документ после разбора хранится в виде дерева, и просто так закрывающий тег вставить в произвольное место нельзя.
Даже если вы используете метод html, допишите закрывающий тег, и вставите обратно в элемент на странице, то результат в дереве не выйдет за пределы этого элемента, все лишние закрывающие теги будут либо проигнорированы, либо превратятся в пустой (закрытый) элемент.

Поэтому если вы хотите добавить закрывающий тег с помощью .html(), то вам нужно добавить и открывающий.

Если вы используете jquery, и хотите сделать обертку вокруг элемента, то вы можете воспользоваться одним из wrap-методов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы