我正在使用谷歌地图api,我希望标记的标签有一个执行警告的链接。
var str = "hi";
var mp_position = createGoogleMapsLocation(data[i].location);
var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>";
addMeetingMarker(mp_position, text);
addMeetingMarker功能有效,但编辑功能无效。代码是:
function edit(message) {
alert(message);
}
如果在编辑函数的参数中设置了一个整数,它可以工作,但传递变量str不起作用。为什么呢?
答案 0 :(得分:6)
您需要更多双引号来包围您的值字符串 - 所以:
var text = "<p>Edit: <a href=# onClick='edit("+str+")'>Click here</a></p>";
变为
var text = "<p>Edit: <a href=# onClick='edit(\""+str+"\")'>Click here</a></p>";
答案 1 :(得分:1)
edit("+str+")
将导致javascript代码
edit(hi)
hi
是未知变量。根据您希望edit
函数执行的操作,可以添加引号:edit\""+str+"\")
,也可以删除加号:edit(str)
。在最后一种情况下,编辑功能将接收str
变量,在第一种情况下,它将接收“hi”文字。
答案 2 :(得分:0)
您错过了使str
成为引用字符串所需的双引号。