Aller au contenu Aller au menu Aller au sous menu Aller à la recherche

Ligams » Publications » Javascript » getElementByClassName : Récupérer les éléments d'une page par classe CSS

getElementByClassName : Récupérer les éléments d'une page par style

Pour compenser un manque de Javascript, on a tendance détourner un peu l'utilisation des styles CSS à un autre usage : effectuer des traitements sur l'ensemble des éléments d'une page identifiés par l'attribut class.

Voici un modèle de fonction de ce type :

//Définition d'un nouvel espace de nom
var Utils = [];

/**
 * Utils.getElementsByClassName :  renvoi un tableau d'HTMLElement
 * @param className String nom de la classe CSS
 * @param tagName String filtre la recherche par nom de balise
 * @param elementParent String recherche  uniquement les sous noeud de cet élément
 * @return Array
 */
Utils.getElementsByClassName = function(_className, _tagName, _elementParent)
{
    var oReg = new RegExp("(^|s)"+_className+"(s|$)");
    
    var tag;
    (null==_tagName)? tag = "*" : tag = _tagName;
    
    var el;
    (null==_elementParent)? el = document : el = _tagName;

    var elementsToTest = (tag == "*" && el.all)? el.all : el.getElementsByTagName(tag);
    var aRes = new Array();

    for(var i=0; i<elementsToTest.length; i++)
    {
        if(oReg.test(elementsToTest[i].className))
        {
                aRes.push(elementsToTest[i]);
        }
    }

    return aRes;
}

Commentaires

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.

Votez pour cet article

Vote: 0,00/5
(Nombre de votant(s) : 0)

Traduction automatique

Recherche

Ligams © 2009 tous droits réservés - Contact | Aide à la navigation | Plan du site | Glossaire | Infos légales | Accessibilité