簡體   English   中英

參數列表后的javascript'缺少)錯誤”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM