Avec jQuery nous pouvons sélectionner un ou plusieurs éléments grâce à des sélecteurs CSS comme par exemple :
$("monselecteur:first")
Je vais vous montrer aujourd’hui une petite astuce pour créer votre propre sélecteur !
Nous voulons un sélecteur qui permet de savoir si le contenu HTML d’un élément est supérieur à 1000. Cela peut être pratique dans un tableau récapitulatif pour surligner les cases importante (supérieures à 1000).
| 1400 | 700 | 400 |
| 2500 | 600 | 100 |
| 100 | 1100 | 900 |
Nous allons étendre les fonctionnalité de jQuery et lui ajouter un sélecteur :
$.extend($.expr[':'], {
// on nomme notre sélecteur
moreThanAThousand : function (a){
// on cherche notre élément
return parseInt($(a).html()) > 1000;
}
});
$(document).ready(function() {
// utilisation
$('td:moreThanAThousand').css('background-color', '#ff0000');
});
Ici on sélectionne tous les éléments qui ont un contenu HTML supérieur à 1000 et on leur met une couleur de fond rouge ! Simple non?
« Un plugin jQuery d’agrandissement automatique de vos textareas | IE6 Update, aidez les à tuer internet explorer 6 »
Aucun trackback
2 commentaires
Tchupacara
19 avril 2009 à 21:32
1Belle trouvaille !
Victor Nicollet
19 avril 2009 à 22:35
2Je suis très dubitatif sur l’utilité de la chose. Si l’on reste en JS tout à fait classique, ce que tu proposes ressemble fort à :
function above1000(a) {
return parseInt($(a).html()) > 1000;
}
$(’td’).filter(above1000).css(’background-color’, ‘#ff0000′);
Certes, on gagne sur le plan esthétique, mais on perd en simplicité. Et je soupçonne aussi, en performance, mais il faudrait un bench…
Laisser un commentaire
Devenir Fan de Dator.fr
Nuage de tags
Sponsors
Blogoliste
Blogs Amis