0

jQueryを使用していくつかのxml天気情報を解析していますが、このコードを制約して最初の7つの天気予報日のみを解析する方法を理解できません。xmlには合計10のforecastdaysノードがありますが、表示したいのは7.現在のforループでは、7回のループに制限するのではなく、各forecastdaysノードを7回出力します。前もって感謝します。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $.ajax({
  type: 'GET',
  url: 'Poole.xml',
  dataType: 'xml',
  success: parseXml
  });
});

function parseXml(xml) {
    $(xml).find('response forecast simpleforecast forecastdays forecastday').each(function() {
        for (var i=0; i<7; i++) {    
          var weekday = $(this).find("date weekday").text();
          var icon_url = $(this).find("icon_url").text();
          var conditions = $(this).find("conditions").text();
          var high = $(this).find("high celsius").text();
          var low = $(this).find("low celsius").text();
          $('<li><span><strong>' + weekday + '</strong></span><span><img src="' + icon_url + '" width="75" height="75" /></span><span>' + conditions + '</span><span>High ' + high + '&#176;C / Low ' + low + '&#176;C</span></li>').appendTo('#weatherContent');   
        }
    });
}
</script>

<ul id="weatherContent"></ul>

ここで解析している私のxmlファイルのコピーをダウンロードできます:http://temp-share.com/show/2gFHqr478(Poole.xml)

4

1 に答える 1

2

:lt()セレクターを使用する:

$("response forecast simpleforecast forecastdays forecastday:lt(7)", xml)
    .each(function() { ... });
于 2013-02-09T20:34:49.193 に答える