這應該工作:
infowindow.setContent('<table><tr><th>Name</th><td><a href="javascript:Institute(\''+code+'\')">' + text + '</a></td></tr><tr><th>IP Address</th><td>' + ip + '</td></tr><tr><th>Code</th><td><a href="javascript:Institute();">' + code + '</a></td></tr></table>');
這樣的結果HTML有標籤的屬性和單引號('
)爲JavaScript字符串,這是爲了確保不發生衝突的最佳途徑雙引號("
)。
爲了演示,這裏採用document.write()
和alert()
在代替,但如果你點擊運行的代碼片段
var code = 'The Code';
var text = 'The Text';
var ip = 'The IP';
document.write('<table><tr><th>Name</th><td><a href="javascript:alert(\''+code+'\')">' + text + '</a></td></tr><tr><th>IP Address</th><td>' + ip + '</td></tr><tr><th>Code</th><td><a href="javascript:alert(\'empty string\');">' + code + '</a></td></tr></table>');
你是如何傳遞參數的工作? – Nitish
在JavaScript中混合使用JavaScript中的字符串來製作帶有JavaScript的HTML是令人頭疼的祕訣。不要這樣做。使用DOM。使用'createElement'。使用'createTextNode'。使用'appendChild'。使用'addEventListener'。你的代碼將更加冗長,但無限理解,調試和維護。 – Quentin
我只是很好奇:在href而不是onclick事件中做這件事有什麼好處嗎? – Niko