将参数传递给javascript onclick函数

时间:2013-12-19 07:31:47

标签: javascript jquery

我遇到从javascript onClick函数获取参数的问题

title = "as"
$('<li onClick=pushRight('+hello+') class="item"></li>')

我的控制台日志打印此Uncaught SyntaxError:Unexpected token}

3 个答案:

答案 0 :(得分:3)

请不要使用内联js(在你的HTML中点击)。

在此处查看不使用内联js的原因: https://www.google.com/search?q=Why+is+inline+js+bad%3F

这是jQuery的正确方法:

var $myElem = $('<li class="item"></li>');
$myElem.click(function() {
  pushRight('hello');
});

即使没有jQuery也很容易:

var myElem = document.createElement('li');
myElem.className = 'item';
myElem.addEventListener('click', function() {
  pushRight('hello');
});

现场演示:http://jsbin.com/uDURojOY/1/edit

答案 1 :(得分:0)

尝试这种方式:

hello = 'anything';
$('<li onClick=pushRight("'+hello+'") class="item"></li>')

答案 2 :(得分:-1)

title = "as"
$('<li onClick="pushRight("'+hello+'")" class="item"></li>')

查看添加的双引号。 "'+hello+'"也是pushRight函数的双引号。

您的代码无效,因为它会呈现无效的html,如下所示。

<li onClick=pushRight(as) class="item"></li>
  

看,pushRight之前和之后都没有引号,也就是你之前和之后的引号   字符串"sa"。知道错误并纠正。不建议在html中使用内联js。您必须在这些场景中绑定事件。