答案 0 :(得分:0)
使用基于属性的选择器时,需要在引号中包含特殊字符。
if ($('ul li a[href="' + id + '"]').length) {
您的选择器版本会产生
if ($("ul li a[href=#!...]").length) {
#!
会抛出无法识别的表达式。
""
转义字符
if ($('ul li a[href="#!..."]').length) {
答案 1 :(得分:0)
虽然其他答案在技术上是正确的(选择器中使用的语法不再允许),但解决方案并不是要更新jquery.js。错误中提到的选择器由Divi主题使用,Wordpress的更新(也更新了jquery和/或jquery-migrate.js)现在不允许使用它。
解决方案是更新您的Divi主题。目前2.7.5是最新版本。我刚刚更新了Wordpress网站上的主题,问题就消失了。
答案 2 :(得分:0)
我遇到了同样的问题,不得不转义这样的引用:
原始代码为error
。
var activeLink = location.pathname
$('a[href='+activeLink+']').closest('li').addClass('active');
引入了转义双引号
var activeLink = location.pathname
$('a[href=\"'+activeLink+'\"]').closest('li').addClass('active');