使用变量的 Href 属性不起作用

Href attribute using variable does not work

本文关键字:属性 不起作用 Href 变量      更新时间:2023-09-26

在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 中而不是编写单独的函数?

它应该是

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

你正在使用字符串串联将myvar放入该字符串中。你拥有它的方式,整个事情是一个字符串"javascript:alerter(myvar)"

试试这个

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

myvar变量必须在全局范围内。确保您也可以以window.myvar访问它。

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

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

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

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

干杯。

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

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

一篇关于良好做法的好文章