【问题标题】:jQuery Sizzle syntax error - uncaught expressionjQuery Sizzle 语法错误 - 未捕获的表达式
【发布时间】:2019-01-24 04:30:19
【问题描述】:

我从 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();
    });
});

语法错误如下:

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)

我不明白为什么会出现此错误。在以前的 jQuery 版本中,这个错误没有出现并且代码有效。新的 jQuery 版本或其他的语法是否发生了变化?

【问题讨论】:

    标签: jquery sizzle


    【解决方案1】:

    您需要在选择器中的 data-target 值上加上引号

    $('a[data-target="' + currentActiveTabContentId + '"]').click();
    

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 2017-11-24
      • 2017-06-06
      • 2019-02-18
      • 2015-11-13
      • 1970-01-01
      • 2015-10-08
      • 2016-11-15
      • 2011-12-03
      相关资源
      最近更新 更多