2010-12-20 9 views
2

ich IE9.js aus diesem Projekt bin mit: http://code.google.com/p/ie7-js/Internet Explorer Unterstützung für n-te-Kind-Selektor

Zum größten Teil gut es funktioniert, CSS-Unterstützung ermöglicht wie Opazität in Internet Explorer 7 aber es doesn‘ t unterstützt den: nth-child() Selektor. Gibt es einen Weg um dies rein mit Javascript? Damit meine ich, dass mein CSS von den Javascript- und CSS-Attributen gelesen würde, die auf die passenden Elemente angewendet werden. Ich bin mir bewusst, dass dieses Problem gelöst werden kann, indem Sie Klassen für die Elemente verwenden oder jQuery (oder andere Frameworks) verwenden, um die Elemente auszuwählen. Dies ist jedoch nicht ideal.

Idealerweise möchte ich meinen Präsentationscode an einem Ort (css) nicht in meinem Projekt verstreut haben.

bearbeiten Sieht aus wie diese IE-Bibliothek es tun könnte: http://selectivizr.com/

+0

Das ist eine kleine Bibliothek – qwertymk

+1

Ich weiß nicht, ob es eine wirklich gute un-fuctoring-Bibliothek für ie gibt. Aber ie7-js und selectivizr verbessern definitiv die Erfahrung. – Keyo

+0

Ich weiß, dass Sie diese Dinge nicht trennen möchten, aber hier ist meine JavaScript-Lösung: https://gist.github.com/yckart/5652296 – yckart

Antwort

1

Für Nicht-IE6-Browser, können Sie den benachbarten Geschwister-Selektor verwenden, wenn die Art der untergeordneten Elemente immer gleich sind. Zum Beispiel, wenn Sie das 5. Kind li-Element in einer Liste auswählen möchten:

ul: first-child> li + li + li + li + li { ... }

0

Es gibt eine Viele Möglichkeiten, dies zu erreichen, aber die einfachste wäre, eine Helfer-Bibliothek wie jQuery zu übernehmen. Es unterstützt diese Selektoren in allen Browsern und bietet Ihnen außerdem viele weitere Tools.

Wenn Sie die Abhängigkeit nicht hinzufügen können, wählen Sie einfach eine ähnliche Bibliothek und extrahieren Sie diese bestimmte Implementierung (stellen Sie sicher, dass die Lizenz dies erlaubt).

Sorry, aber ich habe Ihren Hinweis auf jQuery in der Post nicht gesehen ... Bitte ignorieren Sie die oben genannten. http://selectivizr.com/ scheint jedoch ein nettes Werkzeug zu sein.