我如何从XML文件jquery获取id

时间:2011-05-23 13:02:09

标签: jquery xml

我的xml:

<stuffs>
<unit id="code">10</unit>
</stuffs>

我的jquery ajax:

 $.ajax({
             type: "POST",
             url: "xml/test.xml",
             dataType: "xml",
             success: function(xml) {
                   $(xml).find('stuffs').each(function(){

                        ... the code are here ...

                });
             }

我正在尝试使用ID获取<unit>的值:

var unit = $(this).find('unit').attr('id');
var unitIdVal = $("#"+unit).text();
alert(unitIdVal);

但是,他找不到任何东西。

我不知道是否与comun jquery的东西相同 因为我尝试使用

直接获取值
var unitIdVal = $("#code").text();

但是,没有了。

TY

2 个答案:

答案 0 :(得分:1)

问题是$("#code").text();在html文档中查找id。

$("#code", xmlDoc).text();应该有用。

答案 1 :(得分:1)

上面的选择器内容至少可以说是难以理解的。你从一个元素中获取了ID,然后再通过ID获取该元素,所有这些都在一个对你无能为力的循环中......

这是它需要的:

var unit = $(this).find('unit').attr('id');
var unitIdVal = $("#"+unit, xml).text(); //provide context to your selector

虽然写这篇文章我觉得很脏,但我希望它会在不同的环境中使用,这只是说明性的。

这是它应该是什么。请注意,缺少选择与ID相同的元素:

//....
success: function(xml) {
    var unitIdVal = $(xml).find('unit').text();
}
//....

请彻底阅读一些helpful tutorials on XML parsing