2015-10-05 55 views
0

代碼:的onclick在HTML圖像標記 - 字符串值傳遞給JavaScript函數

//在for循環..

$("#tabs").append('<li><a href="#tab' + 1 + '">' + 1 + '</a><img src="/Images/pdf.png" onclick="test('1s')" /></li>'); 

function test(val) { 
    alert(val); 
    //return false; 
} 

請參閱該代碼onclick="test('1s')"。有沒有什麼語法錯誤?我無法將值1s傳遞給test函數。

但我可以通過該值,如果它是1而不是1s

UPDATE

如何通過一個變量的值......可以說1s是可變val。如果我把onclick="test(\'val\')",我收到val爲「VAL」而不是1s

SOLUTION:

我解決myself..Refer到https://stackoverflow.com/a/32945494/5409139

回答

3

您應該使用\符號來避開單個字符:'

$("#tabs").append('<li><a href="#tab' + 1 + '">' + 1 + '</a><img src="/Images/pdf.png" onclick="test(\'1s\')" /></li>'); 
+0

如何傳遞一個變量...可以說'1s'在變量'val' ..如果我把'onclick =「test(\'val \')」',我得到' val'作爲「val」而不是'1s' –

+0

您對上述問題有任何意見/建議嗎? –

+0

我解決了自己。參考http://stackoverflow.com/a/32945494/5409139 –

1

的代碼是一個單引號字符串參數,所以周圍1s''帶你出去的字符串和回append函數調用的參數。改爲嘗試test(\'1s\')(每個引號之前的反斜槓)。

JavaScript字符串的更多細節例如是here

0

這是一個簡單的錯誤。 請做以下...

$("#tabs").append("<li><a href='#tab" + 1 + "'>" + 1 + "</a><img src='/Images/pdf.png' onclick=\"test('1s')\" /></li>"); 

function test(val) { 
    alert(val); 
} 
0

我得到了解決方案。我相應地添加了引號。

var val = "1s"; 
$("#tabs").append('<li><a href="#tab' + 1 + '">' + 1 + '</a><img src="/Images/pdf.png" onclick="test(\'' + val + '\')" /></li>'); 
相關問題