2009-08-04 4 views
5

Ich verwende einen JQuery UI-Schieberegler mit zwei Handles (a.k.a Bereich Schieberegler). Ich weiß, wie style the first handle:Wie verwende ich ein anderes Bild für jedes JQuery UI Slider-Handle

.ui-slider-horizontal .ui-slider-handle {background: white url(https://stackoverflow.com/content/img/so/vote-arrow-down.png) no-repeat scroll 50% 50%;} 

Aber wie ich anders den zweiten Griff Stil?

Firebug kann ich sehen, JQuery nicht eindeutig jeden Griff identifizieren:

<div id="hourlyRateSlider" class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all"> 
<div class="ui-slider-range ui-widget-header" style="left: 26%; width: 46%;"/> 
<a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 26%;"/> 
<a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 72%;"/> 
</div> 

So stelle ich, dass ich entweder ein CSS-Kind-Selektor verwenden, die Cross-Browser problematisch sein könnte. Oder ich könnte einige JQuery-Tricks verwenden, um dem zweiten Handle eine CSS-Klasse hinzuzufügen? Hat jemand das schon einmal ordentlich gemacht?

+0

@ Tom - haben Sie es geschafft, eine Lösung zu finden? – karim79

+0

@ karim79 - Nein, tut mir leid - Ich habe nie herausgefunden, wie man jeden Griff anders style :-( – Tom

Antwort

12
$(window).load(function(){ 
    handle = $('#slider A.ui-slider-handle');   
    handle.eq(0).addClass('first-handle');   
    handle.eq(1).addClass('second-handle'); 
}); 
0

css:

#hourlyRateSlider a:last-child {} 
+0

Es wird nicht auf IE <9 – Ziumin

+0

funktioniert es sollte IE arbeiten <9: '.ui-Slider-horizontal. ui-slider-handle + .ui-slider-handle {} ' – Artem