2009-07-13 10 views
0

Gibt es eine Möglichkeit, etwas in jQuery nur bedingt zu tun, wenn IE6 der Browser ist? Ein Beispiel für die Art der Sache, denn ich bin auf der Suche ist wie folgt:Suchen Sie nach IE6 in einem jQuery-Selektor

$("#someselector").IsIE6().css("position", "relative").css("left", 40); 

ich ein seltsames Problem mit dem JQuery UI-Dialog und das Hinzufügen dieser Code geplagt bin behebt das Problem, aber offensichtlich vermasselt alles andere Browser

Antwort

2

Sie können das (veraltet) browser Attribut:

if ($.browser.msie && $.browser.version.substring(0,1) === '6') { 
    ... 
} 
2

jQuery für diese wahrscheinlich übertrieben ist.

Warum haben Sie nicht einfach eine bedingte Anweisung im HEAD Ihres Dokuments, die optional ein Stylesheet mit 'IE-6 only' Regeln lädt? Auf diese Weise wird immer noch alles korrekt angezeigt, auch wenn der Benutzer JS deaktiviert hat.

<!--[if lt IE 7]> 
     <link type="text/css" rel="stylesheet" media="all" href="ie6.css" /> 
<![endif]--> 

Dann in Ihrem ie6.css können Sie eine Regel wie diese haben:

#someselector { 
    position: relative; 
    left: 40px; 
} 
+0

weil die Stile programmatisch festgelegt werden muss. Ich versuche, ein fehlerhaftes jquery-Plugin zu umgehen, das Stile festlegt, die Layoutprobleme in IE6 verursachen. Ich würde lieber vermeiden, den 3rd-Party-Code zu öffnen und herauszufinden, wie es funktioniert, um das Problem zu beheben. Ich habe die Stile identifiziert, die es für IE6 beheben –

Verwandte Themen