[英]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+')');
只需修改锚点的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.