2010-04-29 12 views
9

J'utilise actuellement Cufon sur notre site avec quelque chose de similaire à Cufon.set('fontFamily', 'DIN Medium').replace('h1'); Maintenant, pour une seule étiquette H1 je voudrais que Cufon soit désactivé, c'est sans changer la balise H1 à toute autre balise, elle doit rester telle quelle.Comment désactiver Cufon sur certains éléments?

Je peux ajouter des classes etc à la balise H1 si nécessaire, et peut faire n'importe quel HTML/CSS/JS ne change pas la balise réelle.

Quelqu'un sait si c'est possible et si c'est ainsi?

Merci à l'avance,

Shadi

Répondre

11

Selon le moteur de sélection que vous utilisez, vous pouvez:

  • ajouter une classe à votre exception de l'élément h1
  • vous pouvez utiliser le: non sélecteur pour appliquer uniquement CUFON aux h1 de cette ne pas la classe mentionnée ci-dessus (avec jQuery et classname « propre » ce serait quelque chose comme Cufon.replace('h1:not(.clean)');
+0

Genius! Très bon sélecteur! :) –

+0

Solution géniale! Exactement ce dont j'avais besoin :) – Rob

+0

Pouvez-vous faire du violon pour ça, je n'ai pas eu de réponse. –

0

par simple h1-vous dire?

$('h1').each(function(){ 
    if($(this).siblings('h1').length) 
     Cufon.set('fontFamily', 'DIN Medium').replace(this); 
}); 
+0

Je ne pense pas que cela fonctionnera, vous dites Cufon de remplacer tous les éléments h1 à nouveau. Vous pouvez cependant envoyer l'élément DOM. – jpabluz

+0

Cela va juste styler tous les tags H1. –

+0

édité. destiné à le faire –

3
function remove_cufon(selector) { 
    $(selector).html(cufon_text(selector)); 
    return true; 
} 

function cufon_text(selector) { 
    var g = ''; 
    $(selector +' cufon cufontext').each(function() { 
     g = g + $(this).html(); 
    }); 
    return $.trim(g); 
} 

Utilisation:

remove_cufon('#name'); 
+0

Fonctionne très bien, très bien :) – john

1

En utilisant jQuery: Utilisez la classe css à h1 et spécifier dans le sélecteur ...

$('h1.noCufon').each(function(){ 
     var cufonText = ''; 
     $('cufontext',$(this)).each(function(){ 
      cufonText+=$(this).html(); 
     }); 
    if(cufonText!=''){ 
     $(this).html(cufonText); 
    } 
})