Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   appendChild и removeChild (https://javascript.ru/forum/misc/16562-appendchild-i-removechild.html)

zeraid 13.04.2011 00:23

appendChild и removeChild
 
Не пойму как эти вещи работают. Вот пример:
draw2d.Label.prototype.createHTMLElement=function()
{

    var item = draw2d.Figure.prototype.createHTMLElement.call(this);
setInterval(function() {
  $.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){

this.textNode = document.createTextNode(data);
    item.appendChild(this.textNode);
     },
   error: function(){alert('Problem');}
 }).responseText;

}, 1000);
 
    return item;
}


это РАБОЧИЙ пример. Здесьу меня в объект item должен обновлятся текст постоянно. Но в примере котоырй написан выше он не обновляется а КАЖДЫЙ РАЗ ДОБАВЛЯЕТСЯ. в итоге строка становится все длиннее.

Я понимаю, что каждый раз нужно сначала удалять обект, но сделать у меня это не получается. Я пробую писать вот так:

success: function (data){
item.removeChild(this.textNode);
this.textNode = document.createTextNode(data);
    item.appendChild(this.textNode);
     },


но в итоге он вообще ничего не выводит. Подскажите как быть.

zeraid 13.04.2011 01:20

где то прочитал что можно через .innerHTML как то сделать. но не понел как.

Mgauk 13.04.2011 05:00

попробуйте так

draw2d.Label.prototype.createHTMLElement=function()
{

    var item = draw2d.Figure.prototype.createHTMLElement.call(this);
setInterval(function() {
  $.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){
           item.innerHTML = data;
     },
   error: function(){alert('Problem');}
 }).responseText;

}, 1000);
 
    return item;
}

zeraid 13.04.2011 09:45

не работает.

zeraid 13.04.2011 13:12

Все заработало. Прошу прощения. Я data по привычке в скобках писал...


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