jQuery IE Ошибка с wordpress: Строка: 3 Ошибка: синтаксическая ошибка, нераспознанное выражение: nth-of-type
Я создал детскую тему в WordPress. Я использую jQuery, чтобы скрыть и показать подменю. Все прекрасно работает во всех браузерах, кроме IE. В IE ни один из моих jQuery не работает для подменю. Когда я пытаюсь отладить, я получаю эту ошибку.
Строка: 3 Ошибка: синтаксическая ошибка, нераспознанное выражение: nth-of-type
Эта ошибка появляется во встроенной библиотеке jQuery, которую использует WordPress. Я использую селекторы n-го типа в своем собственном Jquery, но даже когда я их удаляю, проблема все еще сохраняется. Это jQuery, который я использую для управления подменю
if ($("body").hasClass('taxonomy-colordesign')){
$("#hybrid-categories-5 h4").toggleClass("tabDown");//pulls the background image in the tab
$("#hybrid-categories-5 h4").siblings('.dots').toggleClass('active');//activates the little square next to it
$("#hybrid-categories-5 h4").next("ul.xoxo.categories").toggleClass("openTab");//opens up the ul that contains the list of options
$(".menu-main-menu-container li:nth-of-type(3) a").addClass("current");
}
else if ($("body").hasClass('taxonomy-colorart')){
$("#hybrid-categories-12 h4").toggleClass("tabDown");
$("#hybrid-categories-12 h4").siblings('.dots').toggleClass('active');
$("#hybrid-categories-12 h4").next("ul.xoxo.categories").toggleClass("openTab");
$(" #hybrid-categories-9, #hybrid-categories-3, #hybrid-categories-5").hide();
$(".menu-main-menu-container li:nth-of-type(2) a").addClass("current");
}
else if ($("body").hasClass('taxonomy-mediadesign')){
$("#hybrid-categories-3 h4").toggleClass("tabDown");
$("#hybrid-categories-3 h4").siblings('.dots').toggleClass('active');
$("#hybrid-categories-3 h4").next("ul.xoxo.categories").toggleClass("openTab");
$(".menu-main-menu-container li:nth-of-type(3) a").addClass("current");
}
Если бы кто-нибудь мог мне помочь, я бы очень признателен.
1 ответ
Потому что nth-of-type не является допустимым селектором jquery.
Например.
$(".menu-main-menu-container li:nth-of-type(2) a").addClass("current");
неверно изменить его на
$(".menu-main-menu-container li:eq(2) a").addClass("current");
Вы можете обратиться к http://api.jquery.com/nth-child-selector/ или http://api.jquery.com/eq/ для получения документации.