[英]Error in line of javascript 'missing ) after argument list"
我正在嘗試將變量傳遞給javascript函數,但是出現Javascript錯誤:“參數列表后缺少”)
html = html + '<a href="javascript:initMap2(' + name.lat +','+ name.lng +','+ name.name +');">' + 'Lugar: ' +name.name +' Coordenadas: Lat '+ name.lat +' Lng'+ name.lng+ '</a><br>';
看起來好像我沒有丟失任何')。
我假設您的最后一個參數應該是字符串,但已確定看起來像變量。 嘗試以下方法:
html = html + '<a href="javascript:initMap2(' + name.lat +','+ name.lng +',\''+ name.name +'\');">' // etc.
當name.name
解析為字符串時,將按預期用單引號引起來。 看起來像javascript:initMap2(1, 2, 'someString')
。
我看到您已經找到了解決方案,但是無論如何,這是一個替代方案,它可以稍微減少您的字符串連接。 還有一個更好的方法來實現此目的,但這可能會幫助您開始看到通過字符串連接擺脫構建HMTL的好處。
<meta charset="UTF-8">
<span id="spanTest"></span>
<script>
// Or whatever your initMap2 function does...
function initMap2(lat, lng, name) {
console.log('Lat: ' + lat);
console.log('Lng: ' + lng);
console.log('Name: ' + name);
}
var spanTest = document.getElementById('spanTest');
var worldLocation = { name:"test", lat:98.5, lng:-88.45 };
var anchor = document.createElement('a');
anchor.href = 'javascript:initMap2(' + worldLocation.lat +', ' + worldLocation.lng + ', \'' + worldLocation.name + '\');';
anchor.innerHTML = 'Name: ' + worldLocation.name + ', Lat: ' + worldLocation.lat + ' Lng: ' + worldLocation.lng;
spanTest.appendChild(anchor);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.