2012-05-23 64 views
2

我是jquery和ajax的新手,所以原諒我缺乏專業聲明。

我已經將我的XML文件加載到success: function(xml)

我隨後致電:

$(xml).find("name").each (function() { 
    var name = '<li>name: ' + $(this).find("name").text() + '</li>'; 
    $('#name').append(name); 
}); 

這項工作這麼多,因爲我得到我的網頁上3個新<li>元素,我期望的那樣。但我沒有看到的是<name>Network</name>標籤之間的文字。

我更換了$(find)法(XML)只是爲了看看會發生什麼,它返回的所有3名到所有3 <li>(接近但沒有雪茄!)

我懷疑$(this)方法我現在用的就是錯的一些如何,但有點困惑,我做錯了什麼。

任何指針正確的方向嗎?

Edit--

XML片段:

<soap:Envelope> 
    <soap:Body> 
     <ns2:getAccountsResponse> 
      <Accounts> 
       <acc??ountId>1</accountId> 
       <address/> 
       <city/> 
       <country/> 
       <creationDate>2012-04-11T00:00:00+01:00</creationDate> 
       <description/> 
       <fax/> 
       <name>Network</name> 
       <origin>??Support_4</origin> 
       <phone/> 
       <postalCode/> 
       <state/> 
       <webSite/> 
      </Accounts> 
+3

您可以發佈您的XML請。我懷疑$(this).find(「name」)。text()'應該是'$(this).text()'。 –

回答

2

鑑於你的XML結構替換此行:

var name = '<li>name: ' + $(this).find("name").text() + '</li>'; 

有了這個:

var name = '<li>name: ' + $(this).text() + '</li>'; 

這是因爲內each()循環,this關鍵字已經參考了<name />元素,所以不需要find()它。