我有一个关于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
这两个错误都以"(“
我还有另一个函数(总是在append中):
$('ul.listing').append('<a href="event-details.html" onclick="saveEventID(' + data[i].ID + ');">')它工作得很完美
我不明白
发布于 2018-05-15 02:05:39
要在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");
}https://stackoverflow.com/questions/50336211
复制相似问题