jQuery:如何使用特定属性访问XML文件中的元素?

时间:2014-01-19 05:08:19

标签: javascript jquery html xml

我正在为大学实习工作一个大学篮球统计网站。我的任务是从XML文档(通过Ajax加载)中提取统计信息并将其显示在媒体的网站上。我已经掌握了基础知识,可以显示各个数据,如场地,日期等。但是,我在访问具有特定属性的单个数据时遇到问题。例如......

 <bbgame>
    <team vh="V" id="UOU" name="STATE COLLEGE" record="8-2">
        <linescore line="24,36" score="60">
          <lineprd prd="1" score="24"></lineprd>
          <lineprd prd="2" score="36"></lineprd>
        </linescore>
        <totals>
          <stats fgm="22" fga="58" fgm3="4" fga3="15" ftm="12" fta="20" tp="60" blk="4" stl="5" ast="6" min="203" oreb="10" dreb="20" treb="30" pf="24" tf="0" to="13" deadball="3,1"
                 fgpct="37.9" fg3pct="26.7" ftpct="60.0"></stats>
    </totals>
    </team>
</bbame>

此XML文件中有两个此类条目。一个用于主队“H”,一个用于客队“V”。 我正在尝试用jQuery / Ajax编写,我可以分别访问每个团队的各个部分,然后将它们存储在div中。这是我的代码示例。我想为每个团队的每个数据执行此操作,然后创建一个表来存储数据。我只是告诉jQuery / Javascript,我只想要在这种情况下来自Visiting团队的'fgm'字段目标。任何帮助将不胜感激!

 $(xml_parse).find('team[vh="v"]').find('totals').find('stats').each(function() {
           $('#fgm').append($(this).attr('fgm'));
           });

1 个答案:

答案 0 :(得分:0)

我能看到的唯一问题是vh的属性值应该是V而不是v,因为属性选择器值区分大小写

$(xml_parse).find('team[vh="V"]').find('totals').find('stats').each(function () {
    $('#fgm').append($(this).attr('fgm'));
});

演示:Fiddle


您也可以将代码清理为

var $vstats = $(xml_parse).find('team[vh="V"] totals stats');
$('#fgm').append($vstats.attr('fgm'));

演示:Fiddle