【问题标题】:Setting href attribute dynamically using js [duplicate]使用js动态设置href属性[重复]
【发布时间】:2019-03-31 23:01:33
【问题描述】:

我可以像这样正确设置href:

var a = document.createElement("a");
a.setAttribute('href','doWork()');

但是,当函数需要参数时,我不知道该怎么做:

var a = document.createElement("a");
a.setAttribute('href','doWork(money)';

#Using it like this, the url is doWork(money), but I need doWork(1), doWork(2)...
#I used a for loop, but doWork(i), when used with '' gives 'doWork(i)'.

#I have function doWork(money), with values of money ranging from 1 to 10.

我该怎么做?

我已经按照链接尝试过这个......我的重复。

for(var i=1; i<=10;i++){

 var link = 'doWork(i)'   #Sets link = doWork(i)
 var link = doWork(i);    #Nothing happens here

 a.setAttribute('href','doWork(i)';

【问题讨论】:

  • money 变量从何而来?您不能只调用一个检索该值的函数吗?
  • @Marc:先生,请看编辑,最后一个块。我的 doWork(money) 函数需要值来运行,这就是我发送值的原因——钱。
  • var link = 'doWork('+ i + ');'; a.setAttribute('href',link); 可以用模板字符串做得更干净一些,但我无法让 stackoverflow 标记转义反引号。
  • @Marc:非常好,非常感谢先生。它是字符串连接,效果很好。

标签: javascript


【解决方案1】:

像这样试试。

var a = document.createElement("a");
a.setAttribute('href',`doWork(${money})`);

【讨论】:

  • 谢谢您,先生,这行得通。但是,为什么你被否决了,这样使用它是不是一种不好的方式?
  • @ksalf 我想只是因为它已经被回答了。
  • 没问题,我接受了答案,但是,我的低代表,我无法投票。如果您有时间解释一下,那将非常好。非常感谢!
  • 如果你想在字符串中使用变量,你需要像这样包装你的字符串this is string ${yourVariable}
猜你喜欢
  • 2012-10-09
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
  • 2013-11-02
相关资源
最近更新 更多