2013-12-19 3 views
0

У меня возникают проблемы с получением параметра из яваскрипта функции OnClickпередавая параметр для яваскрипта функции OnClick

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

и мой журнал консоли печать этого неперехваченного SyntaxError: Неожиданные лексемы}

+0

Почему бы вам не установить -up-обработчик события 'jQuery' для этого элемента? – fbynite

ответ

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

См. Дополнительные двойные кавычки. "'+hello+'" Также двойные кавычки над вашей функцией pushRight.

Ваш код не будет работать, поскольку он отображает недействительный html, как показано ниже.

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

See, there were no quotes before and after pushRight, also before and after your string "sa" . Know the mistake and correct. Using inline js with html is not recommended.You have to bind events in these scenarios.

0

Try так:

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

Пожалуйста, не используйте встроенные JS (onlick в вашем 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

Смежные вопросы