Вопрос по JavaScript

12
zhitov
На сайте с 30.01.2005
Offline
219
810

Есть ли принципиальная разница у следующих конструкций?

document.write('<form>...</form>');
document.getElementById("asd").innerHTML = "<form>...</form>";
document.createElement("select"); и т.д. все поля формы...

Может вопрос глуп или некорректен - в JavaScript не силен. :confused:

Строительные калькуляторы ( https://www.zhitov.com/ )
Joker-jar
На сайте с 26.08.2010
Offline
154
#1

Второй вариант вроде как не всегда работал в некоторых версиях осла. document.write вообще не очень вещь. Самый предпочтительный, имхо - работа с DOM. А если быть точнее, работа с DOM с помощью jQuery ;) Повторюсь, имхо.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2

Я работаю со вторым вариантом. Считаю его кроссбраузерным.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Joker-jar
На сайте с 26.08.2010
Offline
154
#3

Давно это было, но припоминаю что второй метод не позволял добавлять option-ы в select в какой-то версии IE (то бишь, рантаймно создавать дочерние объекты). Хотя, возможно, это был шестой

D
На сайте с 14.01.2007
Offline
153
#4

первый вариант работает только при инициализации(первой прорисовке) страницы

[Удален]
#5
Joker-jar:
Давно это было, но припоминаю что второй метод не позволял добавлять option-ы в select в какой-то версии IE (то бишь, рантаймно создавать дочерние объекты). Хотя, возможно, это был шестой

есть такая проблема, jQuery её обходит :)

zhitov
На сайте с 30.01.2005
Offline
219
#6
Dinozavr:
первый вариант работает только при инициализации(первой прорисовке) страницы

не знал, ценно...

Т.е. при смене HTML-кода (меняется целиком форма отправки) в диве - делать вторым способом и не париться, как я понял. Различия несущественны...

Joker-jar
На сайте с 26.08.2010
Offline
154
#7

Первый вариант вообще считаю моветоном, не имеющем в данное время практической ценности

zhitov
На сайте с 30.01.2005
Offline
219
#8

Joker-jar, а как создать первоначальный контейнер, если на страницу загружается только JS?

У меня

<script language="JavaScript" type="text/javascript">
document.write('<div id="s1" class="">форму буду загружать сюда</div>');...
Joker-jar
На сайте с 26.08.2010
Offline
154
#9

Не сталкивался с таким, считаю, что на странице должен присутствовать хотя-бы body (хотя, скажите это Яндексу :-D )

[Удален]
#10

zhitov, вам надо создавать обработчик для ещё не существующего элемента

в jQuery это функция live :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий