javascript - 将 jQuery parseXml 限制为一定数量的循环

标签 javascript jquery xml for-loop parsexml

我正在使用 jQuery 来解析一些 xml 天气信息,但我无法弄清楚如何限制此代码仅解析前 7 个天气预报日,xml 中总共有 10 个 Forecastdays 节点,但我只想要显示 7。我当前的 for 循环使其输出每个 Forecastdays 节点 7 次,而不是限制为仅循环 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 (普尔.xml)

最佳答案

使用:lt()选择器:

$("response forecast simpleforecast forecastdays forecastday:lt(7)", xml)
    .each(function() { ... });

关于javascript - 将 jQuery parseXml 限制为一定数量的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791273/

相关文章:

javascript - 如何使用 CSS 或 Javascript 创建一个看起来无限的选取框

javascript - JQuery/PHP 日历协助

c# - 预期的 LINQ 类型

javascript - 使用 jQuery 单击表单提交后显示加载 gif

javascript - 使用 javascript 从特定部分删除 css 类

javascript - jQuery:旋转加减 Font Awesome 图标,在 Accordion 部分单击

javascript - 将值作为数组/集合传递

javascript - 如何查找哪个 Javascript 触发或处理事件?

java - 在谷歌地图中为我的位置按钮设置自定义 View

c# - 如何从 WebBrowser 控件获取 XML (RAW/SOURCE)