0

我的js函数是这样的:

function tester (message) {
    alert(message);
}

在标记中我有:

<a href="#" onclick="tester(text to show);">Link</a>

但它不起作用。有人可以告诉我为什么吗?

4

2 回答 2

1

text to show不是字符串,除非你用引号括起来,单引号或双引号。

像这样:

<a href="#" onclick="tester('text to show');">Link</a>

请注意,您不能对 Javascript 代码和 HTML 使用相同类型的引号。

您的代码可能会出错。当代码不符合您的预期时,请检查控制台。

于 2013-05-19T04:26:13.183 回答
0

你快到了。您所要做的就是将文本换行以显示在引号中,如下所示:

<a href="#" onclick="tester('text to show');">Link</a>

这里发生的是你有一个<a>带有两个属性的标签,href并且onclick. 在href你写链接指向的 URL。在onclick属性中,您编写 Javascript。这里的Javascript是:

tester('text to show');

它运行一个名为 的函数tester,将字符串传递给它'text to show'。您的原始代码具有这样的 Javascript:

tester(text to show);

这会导致语法错误。顺便说一句,如果你有这样的 Javascript:

tester(text);

它会寻找一个名为的变量text,如果定义了该变量,您将收到带有该文本的警报。

还有一件事:当您在 HTML 属性中包含文本时,就像您在此处所做的那样,您应该注意不要使用用于包含属性的相同引号。这就是我们使用单引号的原因。假设您想使用双引号或其他花哨的字符,例如 © 符号……然后您将它们替换为它们的“HTML 转义”值,在本例中为&copy;. 单击此处了解一些常见值。

于 2013-05-19T04:39:25.450 回答