在jQuery中一起提取多个节点的简单方法?

时间:2013-08-01 04:13:30

标签: jquery dom

XML就像这样(文档中只有一个DateCreated节点):

 <DateCreated>
  <Year>2011</Year>
  <Month>07</Month>
  <Day>11</Day>
 </DateCreated>

我需要的结果是这样的:

2011-07-11

我想我至少需要三个选择器DateCreated YearDateCreated MonthDateCreated Day,看起来很笨拙......我只是想知道如果有一个单行或更简单的方法做这样的任务。有没有人有这个想法?谢谢!

3 个答案:

答案 0 :(得分:1)

你可以尝试:

[].join.call(
  $.map($('DateCreated').children(), function(){ 
    return $(this).text();
  }).toArray(),
  '-'
);

答案 1 :(得分:1)

我不确定这是否满足。

var xml = "<DateCreated>  <Year>2011</Year>  <Month>07</Month>  <Day>11</Day> </DateCreated>",
    xmlDoc = $.parseXML(xml),
    $xml = $(xmlDoc);
output = $xml.find("Year").text() + '-' + 
         $xml.find("Month").text() + '-' + 
         $xml.find("Day").text();
console.log(output);

希望这可能会有所帮助。

答案 2 :(得分:0)

尝试

$xml.children().map(function(){ return $(this).text() }).get().join('-')

演示:Fiddle