jQuery未捕获的异常:语法错误,无法识别的表达式[tabindex ="something"]

Int*_*els 12 html jquery jquery-selectors

我们站点中的一些UI功能突然无法正常工作,我收到错误消息:

jQuery未捕获的异常:语法错误,无法识别的表达式[tabindex ="something"]

这是我的代码:

var thumb_src = jQuery('a[name="thumb-image"] img[src*=' + sku + ']').attr('src');
jQuery( 'a[ tabindex=' + thumb_src + ']' ).prevAll().removeClass('selectedThumb');
jQuery( 'a[ tabindex=' + thumb_src + ']' ).addClass( 'selectedThumb' );
jQuery( 'a[ tabindex=' + thumb_src + ']' ).nextAll().removeClass('selectedThumb');
Run Code Online (Sandbox Code Playgroud)

它工作正常,直到jQuery升级到最新,我相信这是原因.我在上述陈述中做了什么违法行为吗?感谢您的任何意见或帮助!

Bol*_*ock 13

很可能你的任何一个.或多个/字符都在thumb_src破坏最后三行中的属性选择器,因为它们是特殊的CSS字符.

尝试使用这些选择器中的双引号,这样就可以按字面意思(即使你真的不应该使用除数值之外的任何东西tabindex):

jQuery('a[tabindex="' + thumb_src + '"]')
Run Code Online (Sandbox Code Playgroud)

API文档说,这些报价在jQuery的属性选择是强制性的反正.