0

在 JS 中,我正在创建一个链接,其中 href 属性运行一个函数。函数 simple 打开一个带有给定变量的警报窗口。

function alerter(str){
    alert(str);
}

创建链接时,我使用以下代码。

var link = document.createElement('a');
link.setAttribute('href','javascript:alerter("hi")');
link.innerHTML = "Sauce";

如果我这样做,它会起作用。但是,我想要做的是提醒先前定义的变量。但是当我使用

link.setAttribute('href','javascript:alerter(myvar)');

弹出窗口不再起作用。另外,有没有办法简单地将警报嵌入到 href 中,而不是编写单独的函数?

4

5 回答 5

1

它应该是

link.setAttribute('href','javascript:alerter("' + myvar + '")');

您正在使用字符串连接来放入myvar该字符串。你有它的方式,整个事情是一个字符串“javascript:alerter(myvar)”

于 2012-06-14T16:41:26.017 回答
0

试试这个

link.setAttribute('href','javascript:alerter('+myvar+')');
于 2012-06-14T16:41:49.090 回答
0

http://jsfiddle.net/xmBbw/2/

只需修改锚点的 onclick 事件。如果您不打算在任何地方链接,则无需使用 href 属性。而是使用 onclick 并为其分配您喜欢的任何功能。此外,在 html 标记中编写 javascript 是非常糟糕的做法。请不要

一篇关于良好实践的好文章

于 2012-06-14T16:43:04.863 回答
0

myvar变量必须在全局范围内。确保您也可以将其作为window.myvar.

于 2012-06-14T16:44:16.553 回答
0

对于您的第一个问题,请使用:

link.setAttribute('href','javascript:alerter(' + somevar + ')');

对于您的第二个问题,请使用:

link.setAttribute('href','javascript:alert(' + somevar + ')');

干杯。

于 2012-06-14T16:47:33.417 回答