$('a[href=#InterventionEditDocs]').trigger('click');
这行代码几天后完美地适用于我的项目,但经过一些更新后,它会在控制台中抛出错误。
我通过在值周围添加引号来修复它:
$('a[href="#InterventionEditDocs"]').trigger('click');
现在正在运作。但为什么之前它正在工作,为什么我必须引用它的价值再次工作?
答案 0 :(得分:2)
但为什么它在
之前有效
这是jQuery的一个错误,已在1.12.0和2.2.0中修复。
a[href=#InterventionEditDocs]
是一个无效的CSS选择器,因为#
是一个特殊字符(代表一个ID选择器),因此不能出现在ident中。它本来就不应该在jQuery中工作,并且如果通过document.querySelectorAll()
会产生SYNTAX_ERR。
为什么我必须引用它的值才能再次使用?
a[href="#InterventionEditDocs"]
有效,因为现在引用属性值,因此不再是ident而是字符串。