Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Обрезать последнюю запятую


Автор: KonstRuctor 28.1.2012, 19:34
Всем привет!
Разбираю такой xml:
Код

<response>
<authors>
<author value="vasya">Вася Пупки</author>
<author value="petr">Петр Иванов</author>
</authors>
</response>

На javascript получаю xmlDoc и пишу такой код:
Код

var my_authors = xmlDoc.getElementsByTagName("author");
var my_authorhead = document.createElement("h2");

        for ( var i=0; i < my_authors.length; i++ )
        {
            var my_author_link = my_authors[i].getAttribute("value");
            var text = my_authors[i].firstChild.data;
            var my_author_a = document.createElement("a");
            var my_span_text = document.createTextNode(text+', ');
            my_author_a.setAttribute('href','/authors/'+my_author_link+'.html');
            my_author_a.setAttribute('title','Подробнее об авторе'+my_span_text);
            my_author_a.appendChild(my_span_text);
            my_authorhead.appendChild(my_author_a);
        }

В результате получаю в браузере:
Код

<h2>
<a href="/authors/vasya.html" title="Подробнее об авторе[object Text]">Вася Пупкин, </a>
<a href="/authors/petr.html" title="Подробнее об авторе[object Text]">Петр Иванов, </a>
</h2>

Вопрос: как избавиться от последней запятой, которая не нужна совсем?
на php это делается элементарно, на javascript что-то заткнулся совсем...
Спасибо!

Автор: 502 28.1.2012, 19:39
Код

var my_span_text = document.createTextNode(text);

?  smile 

Автор: KonstRuctor 28.1.2012, 20:13
Друзья, прошу простить мою медлительность.
Посидел, отдохнул немного и придумал решение:
Код

var my_authorhead = document.createElement("h2");
        for ( var i=0; i < my_authors.length; i++ )
        {
            var my_author_link = my_authors[i].getAttribute("value");
            var text = my_authors[i].firstChild.data;
            var my_author_a = document.createElement("a");
                var my_span_text = document.createTextNode(text);
        my_author_a.setAttribute('href','/authors/'+my_author_link+'.html');
        my_author_a.setAttribute('title','Подробнее об авторе '+text);
            my_author_a.appendChild(my_span_text);
                if ( i == ( my_authors.length - 1 ) )
            { var my_zapataya = document.createTextNode(''); }
        else
            { var my_zapataya = document.createTextNode(', '); }
            my_authorhead.appendChild(my_author_a);
            my_authorhead.appendChild(my_zapataya);
        }

Еще раз прошу прощение за поспешность. Удачи!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)