2015-06-10 38 views
0

我從一個AJAX調用如何讀取特定的標籤

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <books> 
     <sub>MATHS</sub> 
    </books> 
    <books> 
     <sub>Chemistry</sub> 
    </books> 
</root> 

我的要求是,我一直想讀的第二本書子值(即希望收到以下XML resonse阿賈克斯XML響應retrive化學值)

我試過這種方法,但下面的代碼我得到MATHS(第一本書)

$(data).find("books").each(function() { 
var subject = $(this).find("sub").text().trim(); 
    return false; 
}); 

可否請你讓我知道如何閱讀書籍第二標籤的子VA魯?

+0

我不認爲你需要在你的情況下使用'each'。只需從'find(「books」)'的結果中選擇第二個元素。總之,請給出'$(data).find(「books」)'console.log的結果嗎? –

回答

1

使用:eq()

$(data).find("books").each(function() { 
var subject = $(this).find("sub:eq(1)").text().trim(); 
    return false; 
}); 

作爲替代方案,與您現有的XML響應嘗試,你可以:not():first

$(data).find("books").each(function() { 
    var subject = $(this).find("sub:not(:first)").text().trim(); 
     return false; 
    }); 

使用使用:last

$(data).find("books").each(function() { 
     var subject = $(this).find("sub:last").text().trim(); 
      return false; 
     }); 
+0

非常感謝,最後一個看起來不錯 – Pawan

+0

@PreethiJain,最後,我建議你使用:eq,因爲你有時可能得到的回覆長度大於2 – AmmarCSE

+1

@PreethiJain,如果答案不起作用,讓我知道所以我們可以嘗試解決它 – AmmarCSE