在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中嵌入警报而不是编写单独的函数?
答案 0 :(得分:1)
应该是
link.setAttribute('href','javascript:alerter("' + myvar + '")');
您正在使用字符串连接将myvar
放入该字符串中。你有它的方式,整个事情是一个字符串“javascript:alerter(myvar)”
答案 1 :(得分:0)
试试这个
link.setAttribute('href','javascript:alerter('+myvar+')');
答案 2 :(得分:0)
只需修改锚点的onclick事件即可。如果您不打算在任何地方进行链接,则无需使用href属性。而是使用onclick并分配您喜欢的任何功能。此外,在html标签内编写javascript是非常糟糕的做法。请don't。
答案 3 :(得分:0)
myvar
变量必须位于全局范围内。请确保您也可以window.myvar
访问它。
答案 4 :(得分:0)
使用第一个问题:
link.setAttribute('href','javascript:alerter(' + somevar + ')');
使用第二个问题:
link.setAttribute('href','javascript:alert(' + somevar + ')');
欢呼声。