2011-05-23 49 views
0

我的xml:我怎么弄的ID从一个XML文件中的jQuery

<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

你如何在XML中加载?我怀疑你的选择器是针对DOM而不是你的XML运行的。 – 2011-05-23 13:06:19

+0

看一看,我编辑 – 2011-05-23 13:14:26

回答

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

+0

亚当,其工作和建议的TY。 – 2011-05-23 13:24:59

1

的问题是,$("#code").text();查找在HTML文档中的ID。

$("#code", xmlDoc).text();应该工作。

+0

是的,这将工作,但我需要从ID的价值,没有直接从标签。 – 2011-05-23 13:10:10

+0

没有人。没有工作。 – 2011-05-23 13:19:59

+0

它的工作原理。做得好。 +1 – 2014-01-04 18:46:38

相关问题