quelle est la bonne façon de déterminer si un objet a une classe OR une autre? Ce qui suit est apparemment faux.
if ($('#menu-item-49').hasClass('current-menu-item' || 'current-menu-parent') ) {
$('ul.sub-menu ').css('display', 'block');
}
Merci!
Vous pouvez utiliser is
à la place?
if ($('#menu-item-49').is('.current-menu-item, .current-menu-parent')) {
$('ul.sub-menu ').css('display', 'block');
}
Vérifiez que le jeu de Correspondant actuellement correspond à un sélecteur et renvoyez True si au moins un de ces éléments Correspond au sélecteur.
Beats devant utiliser plusieurs requêtes hasClass
, l'alternative:
if ($('#menu-item-49').hasClass('current-menu-item') ||
$('#menu-item-49').hasClass('current-menu-parent')) {
$('ul.sub-menu ').css('display', 'block');
}
Vous ne pouvez pas utiliser l'opérateur ||
(ou) dans hasClass
. Essaye ça:
if ($('#menu-item-49').hasClass('current-menu-item') ||
$('#menu-item-49').hasClass('current-menu-parent')) {
$('ul.sub-menu ').css('display', 'block');
}
Ou vous pouvez le faire si c'est trop verbeux:
var $menuItem = $('#menu-item-49');
if ($menuItem.hasClass('current-menu-item') ||
$menuItem.hasClass('current-menu-parent')) {
$('ul.sub-menu ').css('display', 'block');
}
Ou même mieux:
var $menuItem = $('#menu-item-49');
if ($menuItem.is('.current-menu-item, .current-menu-parent')) {
$('ul.sub-menu ').css('display', 'block');
}
Vous pouvez également utiliser .is()
pour vérifier toute classe commençant par current-menu-
en utilisant:
if ( $('#menu-item-49').is('[class]^="current-menu-"') ) {
//49 is the current menu!
}
Plusieurs sélecteurs d'attributs comme ^=
peuvent être trouvés ici .
if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ) {
$('ul.sub-menu ').css('display', 'block');
}
Avez-vous essayé le suivant?
Ce qui suit est ce que vous avez à l'esprit:
var menuItem49 = $('#menu-item-49');
if (menuItem49.hasClass('current-menu-item') || menuItem49.hasClass('current-menu-parent')) {
// ...
}
Si proche!
Essayer:
if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ) {
$('ul.sub-menu ').css('display', 'block');
}
Faites-le comme ceci à la place, en le séparant en deux bits:
if ($('#menu-item-49').hasClass('current-menu-item') || $('#menu-item-49').hasClass('current-menu-parent') ){
$('ul.sub-menu ').css('display', 'block');
}
J'espère que cela vous aide