2011-05-23 51 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

相關問題