Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вставка после последнего элемента.
 
 автор: Aidaho   (07.10.2009 в 10:42)   письмо автору
 
 

Добрый день. Не могу вставить новые элементы после последнего... но не выходит ((
пытаюсь так

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>


вообще возможно ли будет так сделать?

  Ответить  
 
 автор: DJ Paltus   (07.10.2009 в 12:50)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: Aidaho   (07.10.2009 в 15:41)   письмо автору
 
   для: DJ Paltus   (07.10.2009 в 12:50)
 

спасибо... помогло, а почему то как я делал не работало?

  Ответить  
 
 автор: DJ Paltus   (07.10.2009 в 15:48)   письмо автору
 
   для: Aidaho   (07.10.2009 в 15:41)
 

там просто каша, например, назначаете переменную text, а вставляете newItem, причем пытаетесь вставить текст как объект... Объяснить не умею, так как сам недалеко ушел.

  Ответить  
 
 автор: Aidaho   (07.10.2009 в 15:56)   письмо автору
 
   для: DJ Paltus   (07.10.2009 в 15:48)
 

ааа.. ну это я тут ошибся... а так, как я только не пробовал )))

  Ответить  
 
 автор: АЯ   (07.10.2009 в 17:59)   письмо автору
 
   для: 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 его не понимает.

  Ответить  
 
 автор: DJ Paltus   (07.10.2009 в 18:14)   письмо автору
 
   для: АЯ   (07.10.2009 в 17:59)
 

Да, я уже докопал до правильного формирования, но по пути забыл запостить, отвлекся на следующую загадку. )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования