我有一个变量VISIT_ID
,它包含的值包括空间作为Visit 1
。我在下面的onclick
函数中传递了这个变量。这个return语句在javascript datatable column
中使用。
var Cols = [
{
"mData": "VISIT_ID", "sDefaultContent": "", "mRender": function (data, type, index, row) {
return data;
}
},
{
"mData": "ALERT_ACTION", "sDefaultContent": "", "mRender": function (data, type, index, row) {
return "<label>Not Reviewed</label><i onclick = OpenAlert('" + index.VISIT_ID + "') data-toggle='tooltip' data-placement='top'></i>";
}
];
但是当点击它的时候。我得到这个错误:
未捕获的语法错误:无效或意外的令牌
当我用这种方法来安慰你的时候。我得到的结果如下:
OpenAlertActionOverlay('Visit 1')
但是如果我们控制event.target
,它的结果是:
$(document).on('click', function (event) {
console.log('event.target', event.target);
}
2条答案
按热度按时间lsmepo6l1#
尝试在HTML中使用JavaScript将字符串混搭在一起以形成具有JavaScript的东西是困难和脆弱的。尽可能避免这样做。
标准DOM和jQuery都有生成DOM对象的工具:用他们!
您的代码将更加冗长,但可读性更强。
旁白:
<label>
s用于标记<input>
s和其他表单控件。你没有for
属性,里面也没有表单控件。你用错元素了。<i>
元素用于标记通常在打印中呈现为斜体的文本(例如,船舶名称)。你没有短信。我猜你打算在那里放一个背景图像,但这对各种各样的人(包括键盘用户和屏幕阅读器用户)都没有帮助。它看起来应该是一个<button>
,包含一个<img>
和一个alt
属性。ltqd579y2#
这一定是由于
'
或"
的使用不明。为了避免跟踪所有这些报价,您可以使用Template_literals