javascript appendChild не работает - PullRequest
       0

javascript appendChild не работает

4 голосов
/ 12 августа 2011

У меня ошибка в Firefox 3.6 с использованием этой функции

    function GetRefreshedResults(response)
    {   
        var splitted = response.value.split("|");
        var panel = document.getElementById('my-glider');
        var anchors = panel.getElementsByTagName('a');
        for (var i=0; i<anchors.length; i++)
        {
          anchors[i].innerHTML=splitted[i];
        }           
    }

, которая в DOM-якорях показывается как "

Я сейчас пытаюсь использовать этовместо этого:

     function GetRefreshedResults(response)
    {   
        var splitted = response.value.split("|");
        var panel = document.getElementById('my-glider');
        var anchors = panel.getElementsByTagName('a');
        for (var i=0; i<anchors.length; i++)
        {
            anchors[i].empty();
            anchors[i].appendChild(splitted[i]);
          //  anchors[i].innerHTML=splitted[i];
        }           
    }

но я получаю следующую ошибку в appendChild:

        Uncaught Error: NOT_FOUND_ERR: DOM Exception 8

Я не понимаю, почему это не работает.Может кто-нибудь мне помочь ?спасибо

РЕДАКТИРОВАТЬ: Пример:

splitted [0] содержит:

   "<div class="var">Visits</div><div class="percent-zero">0%</div><div class="val">0<div class="val-alt">Unique Visits: 0</div></div>"

Я хочу обновить 8 якорей с новым содержанием, содержащимся в splitted [0], splitted[1] ... расщепляется [7]

Ответы [ 2 ]

4 голосов
/ 12 августа 2011

splitted[i] это проблема.appendChild добавляет DOM-элемент к существующему DOM-элементу, но похоже, что вы пытаетесь добавить строковое значение.Если вы хотите использовать appendChild, либо создайте элемент контейнера и используйте для этого innerHTML, чтобы вставить строку, либо просто используйте innerHTML.Я бы сказал, это не ошибка, из-за которой нельзя добавить строку в качестве DOM-элемента.См. Также MDN-страницу на appendChild.

3 голосов
/ 12 августа 2011

response.value.split("|"); Указывает мне, что вы передаете response в виде строки.appendChild работает только с элементами.Вы не можете добавить ребенка к плоской строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...