2017-02-07 15 views
0

我想在UI上返回一些按鈕,並得到一個奇怪的錯誤。有人可以請幫助。Javascript:missing)返回一個按鈕的參數錯誤後

var div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>" 

的錯誤,我得到的是:

丟失)後的參數列表。

+0

什麼時候出現錯誤? – hackerrdave

+1

試試這個:'var div =「「' – mrlew

+0

WTH你想要做什麼?你真的想將字符串''+ value1 +''和''+ value2 +''傳遞給'displayDetails(...)'嗎? – Bergi

回答

0

你應該逃脫

var div = "<button onclick=\"javascript:displayDetails('+value1+','+value2+');\">View</button>" 
+0

在此之後我得到:未捕獲的SyntaxError:意外的令牌}在第2行是一個空行 – fiddle

1
onclick="javascript:displayDetails('+value1+','+value2+');" 

onclick='javascript:displayDetails('+value1+','+value2+');' 

使用``它支持多條線路,而不是 '',避免嵌套的 「」:

const div = ` 
    <button onclick="javascript:displayDetails('+value1+','+value2+');"> 
     View 
    </button>`; 

const div = "<button onclick='javascript:displayDetails('+value1+','+value2+');'>View</button>" 

然後,你將不需要協商

0

的JavaScript(ES2015,原/也被稱爲ES6)的最新版本現在支持「模板字符串」,可以幫助避免只是這種引用/逃避噩夢。使用「反引號引用」(又名重音符)的串繞信號你想要一個模板字符串,以及${value}每個值的模板語法「插值」(包含)到字符串:

var div = `<button onclick="javascript:displayDetails(${value1},${value2});">View</button>`; 

一般,最好選擇一個標準,以便您在什麼時候使用引號。很多現代的JavaScript風格指南更喜歡使用普通字符串的單引號('),以及圍繞HTML(或XML)屬性的雙引號(")。現在擁有第三個引號機制意味着您不必經常反斜槓引號 - 很好,因爲轉義很麻煩,容易出錯和反清晰。