вставить HTML код в документ

akulina

Новичок
вставить HTML код в документ

Всем привет! Возникла проблема, не знаю как побороть.

существует такой код:

tr = document.createElement("tr")
tr.className = 'profileRow'
tr.innerHTML = response.profileHTML

response.profileHTML представляет собой примерно следующее:
<td>name</td><td>age</td>...

в общем, список <td>, который находятся внутри <tr>

после операции
tr.innerHTML = response.profileHTML, tr.innerHTML не содержит ни одного тэга <td>, то есть они все обрезаются.

в связи с этим вопрос возникает, каким образом можно вставить кусок HTML кода в документ? а именно мне нужна строка в таблице.

писать самой tr.insertCell и так далее - слишком много да и не оптимально - ведь куда проще уже заготовленный код вставить.

Заранее спасибо.
 

dimagolov

Новичок
Re: вставить HTML код в документ

Автор оригинала: akulina
писать самой tr.insertCell и так далее - слишком много да и не оптимально - ведь куда проще уже заготовленный код вставить.
Откуда такая уверенность?
 

Sender

Новичок
akulina
у вас случайно не AJAX? то есть вы формируете HTML прямо на сервере?
 

akulina

Новичок
Sender, все верно. Куски кода вперемешку с объектами получаю с сервера
 

Sender

Новичок
akulina
это не совсем хорошо. по AJAX надо передавать ТОЛЬКО данные, а не их представление. Иначе какую цель тогда у вас решает AJAX? модная технология + нету перегрузки страницы? и с дизайном проблемы у вас начнуться если вдруг дизайн поменяется полезете серверную часть кода менять?


А вот чтобы данные переводить в представление с помощью JS используйте DOM модель
 

akulina

Новичок
ну вообще-то, в конце концов, весь дизайн лежит на сервере в виде css-файлов, и я не представляю какие проблемы с ним могут начаться. А то, что я отправляю не данные, а представление связано с тем, что слишком много логики придется дублировать в джаваскрипте.

Так все-таки, ребята, каким еще образом можно вставить кусок HTML кода в документ? Не используя innerHTML? ;) Что-то нашла про DocumentFragment, но разобраться толком не смогла...
 

Sender

Новичок
есть еще:
insertAdjacentHTML


innerHTML должен работать тоже по идее



мой вам совет, передавайте данные и используйте DOM, не бойтесь дублировать в js логику, она на самом деле не такая сложная
 
Сверху