2012-12-31 35 views
0

我試着在某些日子裏得到日期數組的最後一個元素和第一個元素。數組中的日期

我的XML看起來是這樣的:

<markers> 
<marker id="1" timestamp="12/31/2012 04:07:10"/> 
<marker id="2" timestamp="12/31/2012 04:07:12"/> 
<marker id="3" timestamp="12/31/2012 04:07:14"/> 
<marker id="4" timestamp="12/31/2012 04:15:16"/> 
</markers> 

我可以在迴路中的日期,但是當我試圖讓第一個和最後一個,我不能。結果是「未定義」消息。

的代碼是下一個:

downloadUrl("myXml.asp", function(data) { 
    var xml = xmlParse(data); 

    var markersPath = xml.documentElement.getElementsByTagName("marker");  
    var path = []; 
    for (var i = 0; i < markersPath.length; i++) { 
     var a = markersPath[i].getAttribute("timestamp"); 

     var b = new Date(a[a.length-1]); //last element of array 
     var c = new Date(a[0]); //first element of array 
    }//finish loop 
    alert(b); // the message is an Invalid date 
    alert(c); // the message is an Invalid date 
}); //end download url 

如果有人可以幫助,我會非常感激。

此致敬禮和新年快樂!

+1

如果您收到「無效的日期」錯誤信息,那是因爲你的'XMLPARSE()'函數未能找到或識別您的屬性作爲有效日期。它與數組或您顯示的代碼無關。一個字符串不會成爲一個「Date」對象,因爲它類似於人眼中的日期。 –

回答

1

你可以簡單地達到預期的效果,而不循環陣列上:

var markersPath = xml.documentElement.getElementsByTagName("marker"); 
var a = markersPath[0].getAttribute("timestamp"); 
var b = markersPath[markersPath.length - 1].getAttribute("timestamp"); 
+0

完美的薩爾曼,它現在工作! –

+0

@FranRod - 如果此問題解決了問題,則會誤讀錯誤消息。 –