2017-04-15 90 views
2

嗨,我有一个链接标记,我从javascript创建。现在我想追加一个参数,该链接就像下面example.so,当用户点击该按钮,就应该到该网址与paramenters使用参数创建链接标记

var id="123456789"; 
var data = '<a href="/order/product/ + id"> click</a>' ; 

这个数据标签我正在追加到一些其他的元素一起。 现在我可以打电话/订购/产品。但是当我给id也是给错误“缺少参数”! 任何人都可以帮我吗?

回答

4

你必须在变量超出

var id = "123456789"; 
var data = '<a href="/order/product/' + id + '"> click</a>' ; 

或者对真正跟上时代的JavaScript引擎,支持ES2015 +模板文字来解除引用字符串:

var id = "123456789"; 
var data = `<a href="/order/product/${id}"> click</a>`; 

但赢得” t可以在任何版本的IE上运行(在Edge上运行)。

0

你只需要从ID删除引号

就像下面

var id="123456789"; 
var data = '<a href="/order/product/' + id +'"> click</a>' ; 

如果您有引号内的ID意味着它会采取字符串不是一个变量名,所以只需取出引号。它将工作

+1

'id'上的错误引号,我们得到字符串' click'而不是'

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; 

这样你

  1. 看到什么变量是什么意思
  2. 控制你的hrefLink由什么
  3. 遵循最佳做法MULTIP而不是当乐线,var声明你明确地“秀”里的声明部分:

    var a = smth1, 
        b = smth2; 
    

所以只要看看这个代码,你容易明白,这是变量声明

1

的代码块对于轻松创建链接,您可以使用方法link(str)String的:

var id="123456789"; 
 
var linkText = " click"; 
 
var href = "/order/product/" + id; 
 
var data = linkText.link(href); 
 
alert(data);