我的onclick
功能存在问题。
这是我的代码:
$('ul.listing').append('<button onclick="openInApp("test")" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
单击按钮时,出现“Unexpected end of input
”错误消息。
我试着像这样传递变量:
$('ul.listing').append('<button onclick="openInApp('+ edit_url +')" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
我收到以下消息:Uncaught SyntaxError: missing ) after argument list
两个错误都从“(”
开始我有另一个功能(总是在追加中):
$('ul.listing').append('<a href="event-details.html" onclick="saveEventID(' + data[i].ID + ');">')
它完美地运作
我不明白
答案 0 :(得分:1)
要将字符串嵌套在onclick中,您可以像下面那样使用反斜杠转义单引号以防止它终止字符串。
$('ul.listing').append('<button onclick="openInApp(\'test\')" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
可以通过将字符串传递给单独的数据属性来完成另一种处理方法:
$('ul.listing').append('<button onclick="openInApp(this)" data-string="yourstringhere" class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');
然后在onclick函数中访问它,如下所示:
function openInApp(element) {
var mystring = $(element).data("string");
}