我从 jQuery 1.6(不记得确切版本)迁移到 jQuery 3.3.1,并且在以下代码中出现错误:
//datatable row click events
$('#@mainDatatableName tbody').on('click', 'tr', function () {
checkForChange('#details-box', function () {
//this will enable details refresh
$('#detailsTab1 #Id').val(0);
debugger
//force active detail to reload
$('a[data-target=' + currentActiveTabContentId + ']').click();
});
});
Run Code Online (Sandbox Code Playgroud)
语法错误如下:
jquery-3.3.1.js:1541 Uncaught Error: Syntax error, unrecognized expression: a[data-target=#detailsTab1]
at Function.Sizzle.error (jquery-3.3.1.js:1541)
at Sizzle.tokenize (jquery-3.3.1.js:2193)
at Sizzle.select (jquery-3.3.1.js:2620)
at Function.Sizzle [as find] (jquery-3.3.1.js:845)
at jQuery.fn.init.find (jquery-3.3.1.js:2873)
at new jQuery.fn.init (jquery-3.3.1.js:2983)
at jQuery (jquery-3.3.1.js:139)
at UsersAdmin:1696
at checkForChange (domis.common.js:43)
at HTMLTableRowElement.<anonymous> (UsersAdmin:1693)
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我会收到这个错误。在以前的 jQuery 版本中,这个错误没有出现,代码可以工作。新的 jQuery 版本或其他什么东西的语法有变化吗?
您需要data-target在选择器中的值上加上引号
$('a[data-target="' + currentActiveTabContentId + '"]').click();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5611 次 |
| 最近记录: |