Привет Я пытаюсь создать XML из цикла for. Но с этим ниже кодом я получаю только последний элемент, найденный на странице. Не все из них, как я ожидал.Создание XML из цикла for
Считают, что есть много элементов на странице с идентификаторами, как «textHolder1, textHolder2 и т.д. Со всем различным содержанием
Jquery:.
var text = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><canvas>";
text += "<elements>";
text_length = $('[id^="textHolder"]').length;
for(var n = 0; n < text_length; n++){
TextElementID = $('[id^="textHolder"]').attr('id');
TextElementContent = $('[id^="textHolder"]').text();
text += "<element id='"+TextElementID+"'>";
text += "<content>"+TextElementContent;
text += "</content>";
text += "</element>";
}
text += "</elements>";
text +="</canvas>";
alert(text)
Что я делаю неправильно здесь
Внутри цикла for вы выполняете '$ ('[id^=" textHolder "]')' на каждой итерации, которая выбирает ВСЕ элементы, которые соответствуют селектору. Затем вы получаете идентификатор первого совпадающего элемента и содержимого первого совпадающего элемента. Это явно не то, что вы хотите. –
Рассмотрите возможность использования ['eq' селектора] (http://api.jquery.com/eq-selector/). – mg007