![]() |
Вопросик по JavaScript
Например после какого-то события в ход идёт следующяя функция:
function somefun(){ document.write("Какойто текст") } Так вот скажите мне как сделать так что-бы "какойто текст" добавлялся к старому документу, а не создавал новый, и только тогда писал "какойто текст"??? Тот же форум дописывает ваше сообщение к более ранним. |
1) Простой вариант - используя innerHTML
2) Более сложный - не используя innerHTML, а создавать элементы ручками Теперь подробнее. Пусть у нас есть некий список блоков заключенный в некий контейнер с известным id (для форума это череда сообщений, к примеру, в div'е). Каждое сообщение со всей его инфой - блок вида "кусок html кода". Последний блок делаем как "кусок html кода" + "невидимый блок (div или span) с неким id". Тогда по событию мы в невидимый блок (его id мы знаем) вставляем по одному из двух вариантов нужный html код, меняем значение его id, а затем для материнского контейнера добавляем в конец списка его дочерних элементов блок в виде "невидимый блок (div или span) с неким id" для таких же последующих событий. Хм... достаточно запутано? :) |
Ну нельзя сказать что уж сильно запутано, суть по-мойму я понял, теперь буду разбираться.
Спасибо за ответ. Вот только я не понял что такое innerHTML :( |
Ну это проще: есть к примеру некий слой - <div id="some_div"></div>. Тогда JS-код document.getElementById('some_div').innerHTML='It's some div with <i>HTML</i> code <b>inside</b>' поместит код в кавычка в этот слой, причем все теги внутри кавычек будут интерпретированы и применены к тексту. В общем innerHTML объекта это все, что есть между открывающим и закрывающим тегами. Чтение, запись. Очень удобно и просто. До относительно недавних пор этот метод держал только IE, сейчас вот даже моя любимая Опера научилась :).
|
Время: 12:39. |
Время: 12:39.
© OSzone.net 2001-