2012-02-08 108 views
0

嗨,大家好我想解析一個XML文檔使用jQuery,但我一直打一個限制,所以我想。當一個節點有多個子節點時,我只能得到第一個節點。讓我舉個例子。閱讀xml子節點上的多個XML屬性jquery

<sheetData> 
    <row r="1" spans="1:2" x14ac:dyDescent="0.25"> 
    <c r="A1" t="s"> 
    <v>0</v> 
    </c> 
    <c r="B1" t="s"> 
    <v>1</v> 
</c> 

我使用下面的代碼來嘗試分析這些數據,但只得到了第一個屬性我不知道我在做什麼錯。這裏是代碼。

 $(xml).find("row").each(function(i) { 
     v1 = $(this).find("c").attr("r"); 

我應該以A1和B1結束,但我只得到A1。任何想法建議我將永遠是偉大的

回答

2

attr方法將只獲得匹配的元素集的第一個元素的屬性值。如果你想爲所有的元素,然後使用each或其他一些循環,並從每個元素獲取屬性值。嘗試這個。

$(xml).find("row").each(function(i) { 
     var attrs = []; 
     v1 = $(this).find("c").each(function(){ 
      attrs.push($(this).attr("r")); 
     }); 

     //Now attrs will contain both A1 and B1 attribute values. 
    }); 
+0

謝謝你,我的好人,這是天才,我很新的jQuery。感謝您指點我正確的方向! – user677275 2012-02-08 04:58:56

1

否,.attr()

描述:獲取集合中匹配的元素的第一個元素的屬性的值。

你匹配2 <c>但是然後.attr()返回它應該是什麼。