3

我正在使用 google maps 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 不起作用。为什么?

4

3 回答 3

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>";
于 2012-07-05T20:10:42.643 回答
1
edit("+str+")

将导致javascript代码

edit(hi)

哪里hi是未知变量。根据您希望edit函数执行的操作,添加引号:edit\""+str+"\")或删除加号:edit(str)。在最后一种情况下,编辑函数将接收str变量,在第一种情况下,它将接收“hi”字面量。

于 2012-07-05T20:12:33.250 回答
0

您缺少创建str带引号的字符串所需的双引号。

于 2012-07-05T20:10:44.890 回答