#jquery #replacewith #insertafter
#jquery #заменить с #insertafter
Вопрос:
Я хочу изменить некоторые элементы на странице. (например, я изменю входные данные на структуры divs).
Что быстрее? Сделать это с помощью replaceWith(). Или вставить структуру div после ввода, а затем скрыть ввод?
Комментарии:
1. Взгляните на jsperf.com
Ответ №1:
Если вы говорите о чем-то вроде встроенной функции редактирования, я бы использовал…
replaceWith()
В противном случае вы бы дублировали содержимое на своей странице, что может вызвать другие проблемы.
РЕДАКТИРОВАТЬ: В некоторых случаях я также использую…
.empty().html()
Все действительно зависит от того, чего вы пытаетесь достичь.
РЕДАКТИРОВАТЬ: Вот скрипт, основанный на вашем комментарии…
http://jsfiddle.net/wdm954/WgjL5/2/
Я бы все равно выбрал replaceWith()
вместо того, чтобы иметь несколько экземпляров кнопки в вашем коде.
Комментарии:
1. Я меняю все `<тип ввода =’кнопка’>’ на моей странице на некоторые divs (div-структура, которая создает кнопку, которая мне нужна)
2. @wdm Почему ты делаешь
empty()
в первую очередь?html()
уже заменяет все.
Ответ №2:
Я только что провел несколько тестов со своим скриптом, и JS profiler не показал никакой реальной разницы между ними (я имею в виду скорость). Поэтому я предпочитаю replaceWith
в этом скрипте.