您好我有一个我用javascript创建的链接标记。现在我想将一个参数附加到该链接,就像下面的例子一样。当用户点击该按钮时,它应该与参数一起转到该URL
var id="123456789";
var data = '<a href="/order/product/ + id"> click</a>' ;
这个数据标签我追加到其他一些元素。 现在我可以打电话/订购/产品。但是,当我给id也是错误的“缺少参数”! 有人可以帮帮我吗?
答案 0 :(得分:4)
你必须取消引用变量所在的字符串
var id = "123456789";
var data = '<a href="/order/product/' + id + '"> click</a>' ;
或者支持ES2015 +模板文字的最新JavaScript引擎:
var id = "123456789";
var data = `<a href="/order/product/${id}"> click</a>`;
但这不适用于任何版本的IE(在Edge上)。
答案 1 :(得分:1)
为了便于编写和阅读(以及调试),我推荐以下如何组织代码的变体:
var id = "1234566",
// It is more understandable now that hrefLink contains id concatenated with some other string
hrefLink = "/order/product/" + id,
link = document.createElemen('a');
link.href = hrefLink;
以这种方式你
hrefLink
包含的内容请使用var
语句代替多行代替最佳做法,明确&#34;显示&#34;声明部分是:
var a = smth1,
b = smth2;
因此,只需查看此代码,您就可以更轻松地理解这是变量声明的代码块
答案 2 :(得分:1)
为了便于创建链接,您可以使用link(str)
的方法String
:
var id="123456789";
var linkText = " click";
var href = "/order/product/" + id;
var data = linkText.link(href);
alert(data);
答案 3 :(得分:0)
您只需删除ID
中的引号即可就像下面的
var id="123456789";
var data = '<a href="/order/product/' + id +'"> click</a>' ;
如果你在引号内有id意味着它将字符串而不是变量名称,所以只需删除引号。它会起作用