Question

J'ai un script (aidé par @ briguy37 Supprimer plusieurs éléments avec le même nom en utilisant removeChild? ) qui élimine tous les éléments avec un certain nom de classe en utilisant une boucle et en utilisant removeChild. Son travail parfaitement en FF, mais dans IE, je reçois l'erreur

Object doesnt support this property or method

Le projet peut être consulté à: http://jsfiddle.net/U8xkg/31/

L'erreur se réfère à la ligne:

var childNodesToRemove = document.getElementById(parentId).getElementsByClassName('foo');

Toutes les idées?

Merci.

Était-ce utile?

La solution

document.getElementsByClassName = function(class_name)
{
    var all = this.getElementsByTagName('*');
    var matchArray = new Array();
    var re = new RegExp("(?:^|\\s)" + class_name + "(?:\\s|$)");
    for (var i = 0, l = all.length; i < l; i++)
    {
        if (re.test(all[i].className))
            matchArray.push(all[i]);
    }
    return matchArray;
}

Autres conseils

Malheureusement, il n'y a pas de méthode getElementsByClassName dans IE.

vérifier s'il y a cette méthode - getElementsByClassName. sinon, vérifier, si la méthode de querySelectorAll est pris en charge. Si, une fois, non, vous devriez mieux utiliser un cadre pour aller chercher les nœuds. En particulier, ce code est destiné à être multi-navigateur.

Si vous n'utilisez un cadre dans votre projet (jQuery, YUI, etc ...), puis faites votre auto une faveur et d'augmenter votre productivité en incluant au moins

scroll top