Uncaught Error: синтаксическая ошибка, нераспознанное выражение: a[href*=#]: нет ([href=#])

Я установил свежий WordPress с темой DIVI.

Версия для Wordpress: 4.5.2

DIVI Theme Версия: 2.6.1

Я имел эту ошибку, показывая консоль.

введите описание изображения здесь

2 ответа

Хотя другой ответ технически правильный (синтаксис, используемый в селекторе, больше не разрешен), решение не в том, чтобы обновить jquery.js. Селектор, упомянутый в сообщении об ошибке, используется темой Divi, и обновление Wordpress (которое также обновляет jquery и / или jquery-migrate.js) теперь запрещает его.

Решение состоит в том, чтобы обновить вашу тему Divi. На данный момент 2.7.5 является самой последней версией. Я только что обновил тему на своем сайте Wordpress, и проблема исчезла.

При использовании селектора на основе атрибутов необходимо заключать специальные символы в кавычки.

if ($('ul li a[href="' + id + '"]').length) {

Ваша версия селектора приведет

if ($("ul li a[href=#!...]").length) {

#! бросит нераспознанное выражение.

Моя версия, где "" убежать от персонажей

if ($('ul li a[href="#!..."]').length) {

У меня была такая же проблема, и мне пришлось избегать таких кавычек:
Исходный код сerror.

var activeLink = location.pathname  
$('a[href='+activeLink+']').closest('li').addClass('active'); 

Введены экранирующие двойные кавычки

var activeLink = location.pathname  
$('a[href=\"'+activeLink+'\"]').closest('li').addClass('active'); 
Другие вопросы по тегам