9
votes

jquery addclass à tous les éléments avec classe

Je veux addClass () grève à la classe PriceSis si la classe spécialprice existe. Actuellement, il ne s'agit que sur l'élément premier , pas sur chaque élément apparaît sur la page. J'en ai besoin pour vérifier les tous les éléments avec la classe spécialprice . xxx


5 commentaires

Il n'y a pas d'élément avec la classe 'Prixis' dans le code. Je suppose id = "Prixis" devrait être class = "Prixis" .


devrait être Classe à la place, non? Pour identifiant, vous avez besoin #priceis à la place


Vous êtes correct, j'ai mis à jour le code


La question semble avoir été modifiée afin qu'elle reflète la réponse - elle aurait dû rester inchangée pour refléter le problème


J'ai suggéré une modification à cet effet ^


5 Réponses :


1
votes
$('.priceis').each(function(i, item) {

    var $item = $(item);

    if( $item.hasClass('specialprice') || $item.parents('.specialprice') )
    {
        $item.addClass('strike');
    }

});

0 commentaires

8
votes

Votre HTML est faux

<span class="priceis">


3 commentaires

Je l'ai réparé, cela ne le fait toujours que sur la première "particularité" qui apparaît.


@Toddn où fonctionne ce script? $ (document) .Ready ? Il faut exécuter au moins après que tous les nœuds DOM rendent. Mettez votre script après tous ces éléments.


Bingo! Vous l'avez eu, cela n'a pas été placé correctement dans le document.Ready. Mon code actuel fonctionne effectivement correctement, merci!



11
votes

$ ('. spécialprice.priceis'). addclass ("grève"); ?


0 commentaires

0
votes

Essayez ceci:

$('.specialprice').has('.priceis').addClass('strike');


2 commentaires

Cette catégorie de classe ajoutée avec "prix spécial" non seulement le prix "est"


@Toddn, je ne suis pas sûr de ce que tu veux dire



11
votes

Peut-être quelque chose comme ça? Vous n'êtes toujours pas sûr de l'explication de votre question, non claire ..

$('.specialprice').each(function() {
  $(this).find('*').addClass('strike');
});


0 commentaires