繁体   English   中英

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

[英]Href attribute using variable does not work

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

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+')');

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

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

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

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

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

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

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

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

干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM