Как сделать, чтотбы appendChild() перезаписывал текст, а не дописывал?

Статус
Закрыто для дальнейших ответов.

jorj

Well-Known Member
Регистрация
14.12.2011
Сообщения
78
Вот, например, код:

Код:
function()
{
var text = document.createTextNode("Привет!");
var div_text = document.getElementById("div_text1");
div_text.appendChild(text);
}
----------------HTML-----------------
<div id="div_text1"></div>
Меня интересует, как сделать, чтобы при срабатывании функции в <div > значение "Привет" перезаписывалось , а не дописывалось? То есть у меня при 2-ух срабатываниях функции выводится "Привет!Привет!", а надо, чтобы "Привет!".
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
А не проще сделать так:
Код:
document.getElementById("div_text1").innerHTML = 'Word1, ';
//Чтобы дописать:
document.getElementById("div_text1").innerHTML += 'Word2.';
Вывод:
 
  • Like
Реакции: jorj

jorj

Well-Known Member
Регистрация
14.12.2011
Сообщения
78
А не проще сделать так:
Код:
document.getElementById("div_text1").innerHTML = 'Word1, ';
//Чтобы дописать:
document.getElementById("div_text1").innerHTML += 'Word2.';
Вывод:
В том-то и дело, что мне нужно, чтобы слово заменялось(НЕ БЫЛО двух слов).

А не проще сделать так:
Код:
document.getElementById("div_text1").innerHTML = 'Word1, ';
//Чтобы дописать:
document.getElementById("div_text1").innerHTML += 'Word2.';
Вывод:
В том-то и дело, что мне нужно, чтобы слово заменялось(НЕ БЫЛО двух слов).
Спасибо, все получилось! А вы не знаете, как сделать то же самое моим способом?
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
А вы не знаете, как сделать то же самое моим способом?
Не думаю что получится, хотя бы потому, что 'append' переводится как 'прибавлять'.
А вы используете
Код:
appendChild
Ну, это логически если подумать)
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Вот, например, код:

Код:
function()
{
var text = document.createTextNode("Привет!");
var div_text = document.getElementById("div_text1");
div_text.appendChild(text);
}
----------------HTML-----------------
<div id="div_text1"></div>
Меня интересует, как сделать, чтобы при срабатывании функции в <div > значение "Привет" перезаписывалось , а не дописывалось? То есть у меня при 2-ух срабатываниях функции выводится "Привет!Привет!", а надо, чтобы "Привет!".
А почему не просто вот так:

Код:
function () {
var string = "Строка";
var div = document.getElementById("div");
div.innerHTML = string; // используйте "=" что б перезаписать и "+=" что б добавить
}
# HTML #
<div id="div"></div>
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Зачем человеку пудрить мозги новыми методами)
Ведь есть у каждого нода .innerHTML, что нужно еще?)
 

frops

Active Member
Регистрация
28.03.2011
Сообщения
31
Volter9 прав. Почему нельзя просто написать:

Код:
var text = "Привет";
document.getElementById("div_text1").innerHTML=text;
 

Positive_fun

Well-Known Member
Регистрация
28.03.2012
Сообщения
64
Код:
function(){
var text = "Привет!";
var div_text = document.getElementById("div_text1");
div_text.firstChild.nodeValue = text;
};
------HTML------
<div id="div_text1">Любой текс или хотябы пробел</div>
или замена узла replaseChild(), как писали выше,
но для этого надо чтоб было что заменять. Я предпочитаю тот способ что написал выше его все браузеры понимают, может есть более грамотный подход к этой ситуации но меня пока устраивает этот.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ