首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用onclick "Uncaught :input end of input“

使用onclick "Uncaught :input end of input“
EN

Stack Overflow用户
提问于 2018-05-15 01:48:12
回答 1查看 9.5K关注 0票数 1

我有一个关于onclick函数的问题。

下面是我的代码:

代码语言:javascript
复制
$('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“错误消息。我也尝试像这样传递变量:

代码语言:javascript
复制
$('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中):

代码语言:javascript
复制
 $('ul.listing').append('<a href="event-details.html" onclick="saveEventID(' + data[i].ID + ');">')

它工作得很完美

我不明白

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-15 02:05:39

要在onclick中嵌套字符串,可以像下面这样做,其中使用反斜杠对单引号进行转义,以防止它终止字符串。

代码语言:javascript
复制
$('ul.listing').append('<button onclick="openInApp(\'test\')"  class="btn btn-primary">Edit <i class="fa fa-external-link" aria-hidden="true"></i></button>');

处理此问题的另一种方法是通过单独的数据属性传递字符串:

代码语言:javascript
复制
$('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函数中访问它,如下所示:

代码语言:javascript
复制
function openInApp(element) {
    var mystring = $(element).data("string");
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50336211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档