这是我的XML文件。那里有三个author
节点:
<bookstore>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
</bookstore>
当我使用var author = $(this).find('author');
时,author
将所有作者保留在一个字符串中。我想将其作为数组。有什么办法吗?
var author = $(this).find('author').toArray();
返回长度为0的数组
答案 0 :(得分:1)
find('author')
将使您返回一个jQuery对象,该对象包含节点集合。这样,您可以使用each()
遍历它们:
var authors = $(this).find('author');
authors.each(function() {
console.log($(this).text());
});
如果您特别想要所有值的数组,则可以使用map()
:
var authors = $(this).find('author').map(function() {
return $(this).text();
}).get();