我在这里缺少什么?这看起来很简单,但我不明白为什么第二个警报显示 var id“未定义”
<input type='button' class='getLoc' id=‘s13' value=‘s13’>
<script>
$(function(){
$('.getLoc').click(function(){
var id = $(this).attr('id');
alert(id); //<-- shows s13
navigator.geolocation.getCurrentPosition(function(position,id){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
alert(lat+","+lon+","+id); //<-- shows undefined for id
});
});
});
</script>
最佳答案
这是因为你包含了 id
作为回调函数的参数。这就是id
那你的alert()
将引用,并且由于只有一个参数传递给回调,因此值为 undefined
.
应该是这样
navigator.geolocation.getCurrentPosition(function(position){
关于javascript - 变量变成函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342003/