• [^] # Re: getElementsByClass

    Posté par . En réponse au journal 'Node' est indéfini (+ Free et moi). Évalué à 1.

    Oui... ça change pas grand chose... (enfin peut-être un peux plus rapide) quoique, une fonction recursive sur les childNode (seulement les elements en ont) évitent ça aussi.


    function getElementsByClass(seed, needle)
    {
    var outArray = new Array();

    function _GetElementsByClass(outArray, seed, needle)
    {
    if (seed)
    {
    if (seed.className != null)
    {
    var c = " " + seed.className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
    outArray.push(seed);
    }
    var list = seed.childNodes;
    for (var i=0;i<list.length;i++)
    if (list[i].childNodes.length > 0) _GetElementsByClass(outArray, list[i], needle);
    }
    }
    _GetElementsByClass(outArray, document.body, needle);
    return (outArray);
    }


    Enfin, apparemment, il n'y a pas que ça qui empêche le fonctionnement sur IE.

    Mais si quelqu'un avec IE teste et envoie un message d'erreur, on pourrais aller plus loin.