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

Javascript jQuery:如何使用特定属性访问XML文件中的元素?,javascript,jquery,html,xml,Javascript,Jquery,Html,Xml,我正在为我的大学实习制作一个大学篮球统计网站。我的任务是从XML文档(通过Ajax加载)中提取统计数据,并将其显示在媒体网站上。我已经掌握了基本知识,可以显示各个数据块,如地点、日期等。但是,我无法访问具有特定属性的各个数据块。例如 <bbgame> <team vh="V" id="UOU" name="STATE COLLEGE" record="8-2"> <linescore line="24,36" score="60">

我正在为我的大学实习制作一个大学篮球统计网站。我的任务是从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>

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

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


您还可以清理代码以

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

演示:

如果我的XML样本格式不正确,请忽略它。我有一个可以工作的XML,它有几页长,为了简洁起见,我从中选取了一个示例。它是正确的格式和工作。我只是在访问它时遇到问题。我觉得很好。。。问题是什么?在我添加find('team[vh=“v”]”)之前,我只有find('team'),它给了我两个团队的女性生殖器切割。这是查找特定属性的正确语法吗?请参阅下面的答案。。。属性值区分大小写。新手犯的错误。我将“v”改为“v”,现在显示正确。如果您有时间,我可以问您如何将“V”团队的统计数据添加到表中吗?@user3210595您是指数据库还是UI也可以:.find('team[vh=V]')--不带引号,不区分大小写:)UI。我只负责显示数据。不储存。例如,我对拥有一个存储客队统计数据的表格感兴趣。任何能为我指明正确方向的帮助都会很好。我应该将各个值存储在div中,然后将它们添加到表中吗?或者是否有一种方法可以格式化整个属性列表,例如在本例中,将“V”团队的属性设置为一个表?非常感谢你们的帮助!这个网站是救命稻草。@user3210595第一步是决定UI应该是什么样子,并创建一个模拟表。。。我们可以稍后放置正确的值。。。因此,首先设计一个类似于
FGM-FGA
的表,然后共享它,然后我们可以查看它
var $vstats = $(xml_parse).find('team[vh="V"] totals stats');
$('#fgm').append($vstats.attr('fgm'));