Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Прибавить контент к существующему. (https://javascript.ru/forum/dom-window/14516-pribavit-kontent-k-sushhestvuyushhemu.html)

LRCenter 19.01.2011 18:39

Прибавить контент к существующему.
 
content.innerHTML = gload;


Этот фрагмент кода заменяет html в блоке вывода, а как его можно просто прибавить, то есть конкатенировать со старым содержимым?

Amphiluke 19.01.2011 18:42

content.innerHTML += gload;

LRCenter 19.01.2011 18:44

Спасибо! а "+=" - оператор конкатенации в js?

Amphiluke 19.01.2011 18:47

Это сложный оператор присваивания со сложением (для строк — конкатенацией)

Matre 19.01.2011 18:51

короче говоря

a = a + b то же самое что и a += b
для строк-конкатенация
для чисел-сложение

LRCenter 19.01.2011 19:08

спасибо за исчерпывающую справку.

Aetae 19.01.2011 19:30

Только по сути это таки перезапись, а не добавление.

LRCenter 19.01.2011 20:04

На уровне памяти?

Amphiluke 19.01.2011 20:13

Цитата:

Сообщение от LRCenter
На уровне памяти?

Нет, происходит именно пересоздание элементов DOM. Вот, к примеру, попробуйте таким способом добавить контент к HTML-форме <form> с заполненными полями. Значения всех полей при этом сбросятся.

Aetae 19.01.2011 20:15

На уровне html.
Есть разница: перерисовать всю страницу из-за какойнить фигни, или просто добавить эту фигню в конец.
Примерно так:
function appendText(e,text){
 e.appendChild(document.createTextNode(text))
}
function appendHTML(e,html){
 var f=document.createDocumentFragment(), d=document.createElement('div');
 d.innerHTML=html;
 while(d.firstChild)f.appendChild(d.firstChild);
 e.appendChild(f)
}


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