我正在寫JavaScript,它提取用戶GPS座標(一次),然後計算他/她與我在頁面上顯示的餐館列表之間的距離。最大調用堆棧超過
$(document).bind("DOMNodeInserted", function(e) {
if($('#user-gps').length) {
$('.restaurant').each(function(index, value) {
var lat = $(value).find('.latitude').attr('data-src');
var long = $(value).find('.longitude').attr('data-src');
var distance = geolocator.calcDistance({
from: {
latitude: $('#user-gps').attr('lat'),
longitude: $('#user-gps').attr('long')
},
to: {
latitude: lat,
longitude: long
},
formula: geolocator.DistanceFormula.HAVERSINE,
unitSystem: geolocator.UnitSystem.METRIC
});
var string = Math.round(distance * 10)/10 + "km";
var restaurantTitle = '#restaurant-' + index + ' .restaurant-title';
//$(restaurantTitle).append(string);
//
console.log($(restaurantTitle));
//console.log($(value).find('.restaurant-title').text() + " - " + Math.round(distance, -1) + "km");
$(restaurantTitle).append('<span>' + string + '</span>');
});
}
});
我正在循環瀏覽每家餐館並計算距離,之後我將字符串格式化爲顯示3.2km的值。然後我想在DOM中追加這個。
$(restaurantTitle).append('<span>' + string + '</span>');
只要我試試這個,我得到一個最大調用堆棧在控制檯超出錯誤。
我已經嘗試了幾種方法來確保我只選擇當前正在迭代的元素。我甚至給每個.restaurant一個獨特的ID。選擇器工作得很好,但我不能追加或以任何方式添加字符串而不會出現錯誤。
任何幫助,非常感謝。
請發表**可運行什麼** [MCVE],用棧片斷(在'<>'工具欄的問題按鈕)。這將讓人們看到問題並幫助您解決問題,同時確保所有必要的內容都在現場。 –