2014-02-14 49 views
0

我座標我的屬性數據座標片串入兩個變量

<a class="cor" href="#" data-coordinates="37.650621, 55.740887"></a> 

我需要切片他們分成兩個變量,這樣

<script> 

//this must contain coordinate which is before "," 
var firstCor = $('.cor').attr('data-coordinates'); 

//this must contain coordinate which is after "," 
var lastCor = $('.cor').attr('data-coordinates'); 


</script> 

那麼,我必須從兩個變量一個數據座標

回答

2

使用.split()

var cor = $('.cor').data('coordinates').split(','); // creates an array of result 
var firstCor = cor[0].trim(); // access 1st value index starts from 0 
var lastCor = cor[1].trim(); //.trim() to remove empty spaces from start and end 

.data()

.trim()


更新

對於舊的瀏覽器支持使用

$.trim(),而不是.trim()

var firstCor = $.trim(cor[0]); 
var lastCor = $.trim(cor[1]); 

或使用String.prototype.trim polyfill

+0

留下第二值 – epascarello

+0

@epascarello使用'.trim()' –

+0

僅供參考,如果你需要一個空間用這個答案支持IE8,你需要使用polyfill來修剪 – epascarello

1

使用.split(),如果你想在浮動使用轉換parseFloat

var arr = $('.cor').data('coordinates').split(','); 
var firstCor = $.trim(arr[0]); 
var lastCor = $.trim(arr[1]); 
+0

在第二個值上留下一個空格 – epascarello

+0

@epascarello,使用'$ .trim()'更新了答案。由於'.trim()'在舊版瀏覽器中不受支持 – Satpal

1
var co = $('.cor').data('coordinates'); 

var temp=new Array(); 

temp=co.split(","); 

var firstCor =temp[0]; 

var lastCor = temp[1]; 
1

另一種方法是使用正則表達式

var cords = $('.cor').data('coordinates').match(/-?\d+\.\d+/g); 

導致陣列與兩個字符串

["37.650621", "55.740887"] 

如果你想con他們對用vert數字和瀏覽器支持陣圖()

var cords = $('.cor') 
       .data('coordinates') 
       .match(/-?\d+\.\d+/g) 
       .map(function(a){ return parseFloat(a); }); 

導致

[37.650621, 55.740887]