2017-04-15 84 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);