javascript - “未捕获的语法错误:输入意外结束”与 onclick
问题描述
我的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 + ');">')
它完美地工作
我不明白
解决方案
要将字符串嵌套在 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");
}
推荐阅读
- excel - 删除重复项时连接单元格(删除第一个逗号)
- c# - 使用 .Net 编译器 Roslyn 为 c# 代码创建控制流图
- scala - 在scala中为for循环之外的变量赋值有什么用
- amazon-ec2 - 在 AWS-ECS 中的新集群上出现“RESOURCE:MEMORY”错误
- java - 使用 MVVM 架构从 FireStore 检索数据
- javascript - JavaScript button next and prev
- database - 如何在 Jmeter 中的线程关闭之前执行示例?
- twitter-bootstrap - 引导导航对齐问题
- android - 为什么我的按钮不显示设置样式?
- vaadin - 带有隐藏键的组合框