Wie überprüft man, ob ein Objekt eine Instanz einer NodeList in IE ist?

7

Warum ist NodeList in IE6 / 7 undefiniert?

%Vor%

Dies funktioniert in FF3 / Safari 3.1, funktioniert aber nicht in IE6 / 7. Jeder hat Ideen, wie überprüft werden kann, ob el eine Instanz von NodeList in allen Browsern ist?

    
jon 30.09.2008, 00:49
quelle

4 Antworten

15

" Duck Typing " sollte immer funktionieren:

%Vor%     
Adam Franco 30.09.2008 03:14
quelle
4

Adam Francos Antwort fast funktioniert. Leider liefert typeof el.item verschiedene Dinge in verschiedenen Versionen von IE zurück (7: string, 8: object, 9: function). Also benutze ich seinen Code, aber ich habe die Zeile in typeof el.item !== "undefined" geändert und == in === geändert.

%Vor%     
craigpatik 24.05.2012 15:44
quelle
0

Ich würde einfach etwas verwenden, das immer zu einem bestimmten Typ ausgewertet wird. Dann führen Sie einfach eine True / False-Typprüfung durch, um zu sehen, ob Sie ein gültiges Objekt erhalten haben. In Ihrem Fall würde ich einen Verweis auf das ausgewählte Element erhalten, so wie Sie es jetzt sind, und dann mithilfe seiner getOptions () -Methode eine HTMLCollection abrufen, die die Optionen darstellt. Dieser Objekttyp ist einer NodeList sehr ähnlich, daher sollte es kein Problem darstellen, damit zu arbeiten.

    
Jeremy DeGroot 30.09.2008 01:25
quelle
0

Mit jQuery :

%Vor%     
Andrew Banks 09.12.2011 23:01
quelle

Tags und Links