0

Antwort Referenz: https://stackoverflow.com/a/38399344/5132413Kompatibilität von document.querySelectorAll in IE, Kanten- und Safari

Bitte beachten my question und die Antwort verknüpfte above funktioniert nur in Firefox, Chrome und Opera.

Ich habe einige Nachforschungen gemacht und festgestellt, dass es (Groß-/Kleinschreibung-Flag) nicht kompatibel ist. Ich brauche ein Äquivalent in IE, Edge und Safari.

+0

Das ist CSS4, sollten Sie nicht sofort verwenden, weil es nicht viel Unterstützung gibt. – TyrionGraphiste

+0

Ich verwende es ohne Probleme, aber ich weiß jetzt nicht, wofür das "i" steht: also probiere document.querySelectorAll ('div [class^= "foo"]'); – Wolfgang

+0

Dies ist der Groß-/Kleinschreibung-Qualifikationsmerkmal. Überprüfen Sie [das ist] (https://stackoverflow.com/questions/38399089/ignoring-case-sensitivess-in-queryselectorall/) [Antwort] (https://stackoverflow.com/a/38399344/5132413). –

Antwort

1

Da css-Ebene 4 noch in Entwürfen ist, ist die Groß-/Kleinschreibung-Auswahl nicht mit den meisten Browsern kompatibel. Sie können Filter-Methode wie folgt verwenden:

var divs = [].slice.call(document.querySelectorAll('div')).filter(function(el){ 
    return el.className.match(/^foo/i); 
}); 
+0

Ich bekomme einen Fehler - '.filter ist keine Funktion'. Verwenden von Chrome 52 x 64. –

+0

https://postimg.org/image/ygyziart3/:/ –

+0

document.querySelectorAll gibt eine [NodeList] (https://developer.mozilla.org/en-US/docs/Web/API/NodeList) zurück, nicht eine 'Array'. Ich denke, das könnte das Problem sein. Ich habe die Antwort bearbeitet. Es klappt. –

Verwandte Themen