我有一个由jQuery生成的XML。
<booklists>
<booklist>
<userid>0</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
<booklist>
<userid>1</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
<booklist>
<userid>2</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
<booklist>
<userid>3</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
<booklist>
<userid>4</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
</booklists>
<booklists>
<booklist>
<userid>0</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
<booklist>
<userid>4</userid>
<userid>3</userid>
<userid>2</userid>
<userid>1</userid>
<book>Foo</book>
<book>Bar</book>
</booklist>
</booklists>
lists = $('<booklists />')
books = $('<booklist />');
book = $('<book>Foo</book>');
books.append(book);
book = $('<book>Bar</book>');
books.append(book);
temp = books.clone();
for (var i = 0; i < 5; i++) {
books.prepend('<userid>' + i + '</userid>');
lists.append(books);
books = temp;
}
$('.output').html(lists);
答案 0 :(得分:3)
books = temp;
需要
books = temp.clone();
答案 1 :(得分:2)
好像你想将.clone()
调用移动到循环中:
var lists = $('<booklists />'),
books = $('<booklist />');
books.append('<book>Foo</book>').append('<book>Bar</book>');
for (var i = 0; i < 5; i++) {
var temp = books.clone();
temp.prepend('<userid>' + i + '</userid>');
lists.append(temp);
}
$('.output').html(lists);
不过,我认为您不应该尝试在HTML文档中创建XML节点 - 它可能无法在每个浏览器中使用。