【问题标题】:how to get some filtered data from xml with the help of jquery?如何在 jquery 的帮助下从 xml 中获取一些过滤后的数据?
【发布时间】:2012-10-23 15:56:02
【问题描述】:
 <Item id="419" rank="0.0000" date_added="2012-09-24T19:43:14" date_end="2012-10-15T19:43:14" uid="134333" price="  ,-" district="-1" district_text="Friend" cid="9" cid_text="Underholdning" img_height_thumb="433" />
  <Item id="418" rank="0.0000" date_added="2012-09-24T19:17:42" date_end="2012-10-15T19:17:42" uid="134332" price="  ,-" district="-1" district_text="Friend" cid="9" cid_text="Underholdning" img_height_thumb="254" />
  <Item id="405" rank="102.0000" date_added="2012-09-23T18:55:20" date_end="2012-10-14T18:55:20" uid="134331" price="  102,-" district="-1" district_text="Friend" cid="761" cid_text="Mote" img_height_thumb="280" />

这是示例 xml 数据。我正在使用此代码来获取 xml。

我想过滤所有大于 0 的数据等级。我只想在这个地方添加过滤器,这样我的其余代码就不会改变。那么我如何过滤项目变量并在其他变量中获取过滤器值。所以循环不会生效。我可以在 for 循环中更改变量的名称。

请给我任何建议。

xmlDoc = xmlhttp.responseXML;
        var items1 = xmlDoc.getElementsByTagName("Item");

    var items = $(items1).filter('Item').each(function () {
        var bRank = $(this).attr('rank');
        var tempRank = bRank.replace("0000", "").replace(".", "");
        if (tempRank > 0)
            return this;
    });

alert(items.length);
        alert(items1.length);

两个警报的答案都是 3。

但是对于第一个警报 1 和第二个警报 3,答案应该是这样的。

但是每个警报我都得到相同的响应。请检查并告诉我您的建议。谢谢

【问题讨论】:

    标签: jquery xml xml-parsing xmlhttprequest


    【解决方案1】:

    您可能想使用带有 function 参数的 jQuery 的 .filter 方法:

    var items = $(items1).filter(function () {
        var bRank = $(this).attr('rank');
        return parseInt(bRank, 10) > 0;
    });
    

    这是JS Fiddle 玩。我显然必须自己构建 XML 字符串,并且我摆脱了 replace 代码,因为 parseInt 更适合从字符串中解析整数部分。

    .each 只是为某个集合的每个元素调用一些代码,但它不收集结果(如.map.filter 所做的那样) - 事实上,它只是返回原始集合。 .each 函数中的 return 语句唯一有用的是它可以用来中断迭代(当返回 falsy 值时)。

    【讨论】:

      猜你喜欢
      • 2021-03-25
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 2016-03-25
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多