2015-10-05 52 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>'); 
相关问题