代码:
// for 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
,我可以传递该值。
更新 :
如何传递变量值...让我们说1s
位于变量val
中..如果我放onclick="test(\'val\')"
,我将val
作为&# 34; VAL&#34;而不是1s
SOLUTION:
我解决了自己..请参阅https://stackoverflow.com/a/32945494/5409139
答案 0 :(得分:3)
您应该使用'
符号转义单个qoutes:\
。
$("#tabs").append('<li><a href="#tab' + 1 + '">' + 1 + '</a><img src="/Images/pdf.png" onclick="test(\'1s\')" /></li>');
答案 1 :(得分:1)
代码位于单引号字符串参数中,因此''
周围的1s
会将您带出字符串并返回append
函数调用的参数。请改为test(\'1s\')
(每个引号前的反斜杠)。
JavaScript字符串的更多细节是,例如here。
答案 2 :(得分:0)
这是一个简单的错误。 请关注......
$("#tabs").append("<li><a href='#tab" + 1 + "'>" + 1 + "</a><img src='/Images/pdf.png' onclick=\"test('1s')\" /></li>");
function test(val) {
alert(val);
}
答案 3 :(得分:0)
我得到了解决方案。我相应地添加了引号。
var val = "1s";
$("#tabs").append('<li><a href="#tab' + 1 + '">' + 1 + '</a><img src="/Images/pdf.png" onclick="test(\'' + val + '\')" /></li>');