Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   аналог innerHTML (https://javascript.ru/forum/offtopic/4786-analog-innerhtml.html)

B~Vladi 20.08.2009 15:20

аналог innerHTML
 
Как известно, W3C рекомендует не использовать innerHTML, а вместо него DOM-методы.

Хорошо, теги с текстом генерить мы можем, а вот как в тег вставить, например, HTML-код символа? createTextNode() вставляет их "как есть", data/setData - то же самое...
:-?

Kolyaj 20.08.2009 16:09

String.fromCharCode(code);


А вообще, они там (W3C) теоретики все. Практика показывает, что без innerHTML нельзя.

B~Vladi 20.08.2009 16:17

За код спасибо. Почему-то не попадался такой...

Цитата:

Сообщение от Kolyaj
Практика показывает, что без innerHTML нельзя.

Если думать логически, то innerHTML даже быстрее будет работать при больших объёмах, т.к. формирование DOM происходит на низком уровне. Так что, думаю, у него есть основания жить:)

e1f 20.08.2009 16:27

Возникает закономерный вопрос -- "А зачем?" всех символов есть Юникод-представление, милости просим. А HTML-код, как видно из названия, нужен для HTML

B~Vladi 20.08.2009 16:59

Цитата:

Сообщение от e1f
Юникод-представление

Дк вот это самое представление и надо ставить. createTextNode('&') ставит &, а не амперсанд.

Gvozd 20.08.2009 18:18

чем не угодил createTextNode('\'') ?

e1f 20.08.2009 18:24

Цитата:

Сообщение от B~Vladi (Сообщение 27703)
Дк вот это самое представление и надо ставить. createTextNode('&') ставит &, а не амперсанд.

Что мешает написать createTextNode('\x26')?

Tim 20.08.2009 21:50

хоть innerHTML и не входит в спецификации W3C его поддерживают все современные браузеры. Уверен будут поддерживать и дальше. Вообще не вижу причин заморачиваться.

B~Vladi 21.08.2009 10:34

Цитата:

Сообщение от Tim
хоть innerHTML и не входит в спецификации W3C его поддерживают все современные браузеры.

Я вкурсе:)
Цитата:

Сообщение от Tim
Вообще не вижу причин заморачиваться.

Я вижу.
Цитата:

Сообщение от e1f
Что мешает написать createTextNode('\x26')?

А что это - \x26???
Нет, я вкурсе, что & - это амперсанд, но откуда такая запись взялась?

Riim 21.08.2009 11:01

Цитата:

Сообщение от B~Vladi
А что это - \x26???
Нет, я вкурсе, что & - это амперсанд, но откуда такая запись взялась?

\0n
n - восьмеричное число, не большее 377. Соответствует символу с восьмеричным кодом n.

\xn
n - шестнадцатеричное число, состоящее из двух цифр. Соответствует символу с шестнадцатеричным кодом n.

\un
n - шестнадцатеричное число, состоящее из четырех цифр. Соответствует символу Unicode с шестнадцатеричным кодом n.


Часовой пояс GMT +3, время: 18:46.