属性选择器a[href=#示例]在更新jQuery后不再工作

属性选择器a[href=#示例]在更新jQuery后不再工作,jquery,html,jquery-selectors,Jquery,Html,Jquery Selectors,几天前,这行代码在我的项目中运行得非常好,但是在一些更新或其他事情之后,它在控制台中抛出了一个错误 我通过在值周围添加引号修复了它: $('a[href=#InterventionEditDocs]').trigger('click'); 现在它正在发挥作用。但是为什么它以前可以工作,为什么我必须引用它的值才能再次工作 但是为什么它以前能工作呢 这是jQuery的一个bug,在1.12.0和2.2.0中得到了修复 a[href=#InterventionEditDocs]是无效的CSS选择器,

几天前,这行代码在我的项目中运行得非常好,但是在一些更新或其他事情之后,它在控制台中抛出了一个错误

我通过在值周围添加引号修复了它:

$('a[href=#InterventionEditDocs]').trigger('click');
现在它正在发挥作用。但是为什么它以前可以工作,为什么我必须引用它的值才能再次工作

但是为什么它以前能工作呢

这是jQuery的一个bug,在1.12.0和2.2.0中得到了修复

a[href=#InterventionEditDocs]
是无效的CSS选择器,因为
#
是一个特殊字符(表示ID选择器),因此不能出现在标识中。它本来就不应该在jQuery中工作,如果通过
document.querySelectorAll()
,就会导致语法错误

为什么我必须引用它的值才能再次工作


a[href=“#InterventionEditDocs”]”
有效,因为属性值现在已被引用,因此不再是一个标识,而是一个字符串。

$('a[href=\\\\\\\ InterventionEditDocs]')。触发器('click')
此外,您的问题标题提到了
[attribute$=value]
,但问题本身仅使用
[attribute=value]
您必须更新jQuery库
$('a[href="#InterventionEditDocs"]').trigger('click');