|
|
|
| Добрый день. Не могу вставить новые элементы после последнего... но не выходит ((
пытаюсь так
var text = '<div class=com><div class=com_name>212</div>2121<div class=com_body></div></div>';document.getElementById("comment").lastChild.appendChild(newItem);
|
структура хтмл-а такая:
<div id=comment>
<div class=com>
<div class=com_name></div>
<div class=com_body></div>
</div>
</div>
|
вообще возможно ли будет так сделать? | |
|
|
|
|
|
|
|
для: Aidaho
(07.10.2009 в 10:42)
| | Возможно, Вам подойдет такой вариант?
<html>
<head>
<style>
.com{
border:1px solid blue;
height:50px;
}
</style>
<script>
function appender(){
document.getElementById("comment").innerHTML += '<div class=com><div class=com_name>000</div>111<div class=com_body></div></div>';
}
</script>
</head>
<body>
<input type="submit" value="Send" onClick="appender();">
<div id=comment>
<div class=com>
<div class=com_name></div>
<div class=com_body></div>
</div>
</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: DJ Paltus
(07.10.2009 в 12:50)
| | спасибо... помогло, а почему то как я делал не работало? | |
|
|
|
|
|
|
|
для: Aidaho
(07.10.2009 в 15:41)
| | там просто каша, например, назначаете переменную text, а вставляете newItem, причем пытаетесь вставить текст как объект... Объяснить не умею, так как сам недалеко ушел. | |
|
|
|
|
|
|
|
для: DJ Paltus
(07.10.2009 в 15:48)
| | ааа.. ну это я тут ошибся... а так, как я только не пробовал ))) | |
|
|
|
|
|
|
|
для: DJ Paltus
(07.10.2009 в 15:48)
| | Метод appendChild () добавляет только ОДИН тег (который, правда, может быть составным, но его до вставки необходимо сформировать).
Для конкретной задачи топикстартера это будет так:
//сначала создаём все три дива и присваиваем им нужные атрибуты
var d_com = document.createElement ('div'); d_com.id = 'com';
var d_com_name = document.createElement ('div'); d_com_name.className = 'com_name';
var d_com_body = document.createElement ('div'); d_com_body.className = 'com_body';
//затем внутрь дива с id="com" последовательно добавляем два других созданных дива
d_com.appendChild (d_com_name); d_com.appendChild (d_com_body);
//и, наконец, полученный составной тег добавляем в конец существующего дива с id="comment"
document.getElementById ("comment").appendChild (d_com);
|
Вообще-то, если надо вставить некую последовательность нескольких тегов СРАЗУ, то для этого существует метод insertAdjacentHTML (). Но Mozilla его не понимает. | |
|
|
|
|
|
|
|
для: АЯ
(07.10.2009 в 17:59)
| | Да, я уже докопал до правильного формирования, но по пути забыл запостить, отвлекся на следующую загадку. ) | |
|
|
|