Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: label

Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: label

美好的一天,

升级 jQuery 到 v1.12.4 时遇到不受支持的伪造。

这是我的 jsp 代码:

<label name="role.label">maker</label>

这是我的 jQuery 代码:

$(':label[name="role.label"]').show();

在我升级​​ jQuery 之前,所有这些都工作正常。升级后,我正在点击 Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: label

发现解决方法是:

$('[name="role.label"]').show();

去掉前面的:label

但是,我有上千个类似的jQuery函数,请问还有其他解决办法吗?或者这是唯一的解决方案?

另外,还有一些地方不用改,比如input:

$(':input[name="bankUserProfile.userGroup.role.name"]').val(data);

这个可以在旧 jQuery 和 v1.12.4 中使用。

我建议只使用 <label> 的标记名,如果选择器中有属性,也请保留这些属性

$('label[name="role.label"]').show();

除此之外,您似乎没有任何其他问题,可以按照 selectors api

中记录的伪选择器进行操作

请注意 :label 未记录

我遇到了同样的问题。根据研究,我去删除了标签。