У меня есть элемент E, и я добавляю некоторые элементы к нему. Внезапно я обнаружил, что следующий элемент должен быть первым потомком Е. Что за хитрость, как это сделать? Метод unshift не работает, потому что E это объект, а не массив.
Долгий путь состоял бы в том, чтобы перебрать детей E и переместить их ключ ++, но я уверен, что есть более красивый способ.
Ответы:
источник
Версия 2017
Ты можешь использовать
От MDN :
Также в семье
insertAdjacent
есть родственные методы:element.insertAdjacentHTML('afterbegin','htmlText')
для непосредственного ввода html-строки, как,innerHTML
впрочем, и без переопределения всего, так что вы можете перейти к деспотичному процессуdocument.createElement
и даже построить целый компонент с процессом манипуляции со строкамиelement.insertAdjacentText
для ввода дезинфицировать строку в элемент. больше не надоencode/decode
источник
element
typeof,document-fragment
чего не имеютinsertAdjacent...()
. пока у нас нет лучшего ответа, вам лучше всего добавитьfragment
кdiv
. сделай свою манипуляциюRange.selectNodeContents()
Range.extractContents()
Версия 2018
Это современный JS! Это более читабельно, чем предыдущие варианты. В настоящее время он доступен в Chrome, FF и Opera.
PS Вы можете напрямую добавлять строки
developer.mozilla.org
Могу ли я использовать - 94% май 2020
Polyfill
источник
.appendChild()
но добавить его в начало.prepend()
вместо того, чтобы придерживаться соглашения и называть его.prependChild()
append()
существует так же, работает так же, какprepend()
и в концеprepend
хотя обнаружил, что это уже так. :( Хорошо, его не было в прошлом.Вы можете реализовать это непосредственно во всех ваших оконных элементах HTML.
Как это :
источник
prepend
является эквивалентом JS ванили, без необходимости прототипа. Это будет стандарт в ES7, и вы должны использовать, если это возможно, для вашего приложенияПринятый ответ преобразован в функцию:
источник
eElement
для этого имеет смысл. И для этого мне нужно прочитать вопрос. Большую часть времени я просто проверяю заголовок и сразу перехожу к ответу, игнорируя детали вопроса.Если я не понял неправильно:
Или
Хотя из вашего описания звучит так, что есть какое-то условие, поэтому
источник
Я думаю, что вы ищете функцию .prepend в jQuery. Пример кода:
источник
Я создал этот прототип, чтобы добавить элементы к родительскому элементу.
источник
https://www.w3schools.com/jsref/met_node_insertbefore.asp
источник