2011-08-18 56 views
1

XML代碼:jquery的過濾器的XML數據

<area> 
<point area="54" lat="44.744081" lng="-62.790818" /> 
<point area="54" lat="44.743851" lng="-62.792953" /> 
<point area="54" lat="44.744439" lng="-62.794366" /> 
<point area="55" lat="44.786528" lng="-62.835136" /> 
<point area="55" lat="44.787447" lng="-62.835955" /> 
<point area="55" lat="44.786528" lng="-62.835136" /> 
<point area="56" lat="44.746209" lng="-62.83688" /> 
<point area="56" lat="44.745966" lng="-62.836843" /> 
<point area="56" lat="44.746246" lng="-62.836481" /> 
<point area="56" lat="44.746209" lng="-62.83688" /> 
</area> 

我想檢索由區域號過濾信息。在我的jQuery代碼,我有:

$(xml).find('point').each(function(){ 
    var area = $(this).attr('area'); 
    if(area == 56){ 
    var alat=$(this).attr('lat'); 
    var alng=$(this).attr('lng'); 
    string += 'lat= ' + alat + ', lng=' + alng; 
    }  
    }); 

我看到了一些建議,網上,我想我能做到這樣:

$(xml).find("point[area='56']").each(function(){ 
    var alat=$(this).attr('lat'); 
    var alng=$(this).attr('lng'); 
    string += 'lat= ' + alat + ', lng=' + alng;  
    }); 

那麼,如何可以簡化我的代碼好,所以我可以通過使用循環xml文件來獲取每個區域的不同安排?

+1

目前還不清楚你是什麼意思時,你說「針對不同的場合」。你能詳細說明嗎? –

+0

你想要什麼幫助? –

+0

我實際上喜歡在谷歌V3上繪製多邊形,每個區域都是這個多邊形的座標。所以當人們點擊區域56時,jquery將從xml獲取座標並僅在地圖上顯示該多邊形。 – user900592

回答

0

你可以使用這樣的選擇:

$(xml).find("[area][area!=]") 

將發現在XML文本中有一個area屬性不爲空的所有元素