J'utilise un éditeur wysiwyg qui a un .css appliqué - comment puis-je obtenir toutes ses classes dans une variable par exemple. allClasses = ['navi', 'main']?jQuery: comment obtenir toutes les classes de stylesheet + ids dans un tableau
thx
J'utilise un éditeur wysiwyg qui a un .css appliqué - comment puis-je obtenir toutes ses classes dans une variable par exemple. allClasses = ['navi', 'main']?jQuery: comment obtenir toutes les classes de stylesheet + ids dans un tableau
thx
l'aide du sélecteur [id]
ou [class]
. Cela sélectionne tous les éléments qui ont cet attribut défini. Ensuite, appelez le attr('id')
et récupérez l'identifiant.
(function($) {
$.fn.allAttributes = function(attrName) {
var selector = "[{attr}]".replace("{attr}", attrName);
var attributes = $(selector, this).map(function() {
return $(this).attr(attrName).split(' ');
});
attributes = $.unique(attributes);
return attributes;
};
})(jQuery);
Ceci est un plugin jQuery qui fait exactement cela. Exemple d'utilisation:
var ids = $("body").allAttributes("id");
var classes = $("body").allAttributes("class");
Quelques notes:
La fonction appelle split(' ')
parce que l'attribut class
peut avoir plusieurs classes CSS séparées par une chaîne telle que "main navi footer"
. Cela les sépare en éléments distincts. $.unique
est appelé sur le tableau à la fin parce que les noms de classe auraient pu être répétés à plusieurs endroits et je suppose que vous ne voulez pas de doublons.
Exemple ici: http://jsfiddle.net/G4Pwc/