未捕获错误:语法错误,无法识别的表达式:a [href * =#]:not([href =#])

时间:2016-05-10 14:32:56

标签: wordpress themes wordpress-4.5.2

我已经安装了一个带有DIVI主题的新鲜wordpress。

Wordpress版本:4.5.2

DIVI主题版本:2.6.1

我显示控制台时出现此错误。

enter image description here

3 个答案:

答案 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');