onclick in html image tag - 将字符串值传递给javascript函数

时间:2015-10-05 09:12:05

标签: javascript html image

代码:

// 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

4 个答案:

答案 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>');