выбор элемента списка в динамически генерируемом списке - PullRequest
2 голосов
/ 09 мая 2011
 <div id="carat_weight_right" style="margin-top: 15px;float:left;width:444px;border-width:1px 0px 1px 0 ;border-style:solid; border-color:#327B84;padding-top:10px;padding-bottom:33px;*padding-bottom:59px;">

 <fieldset style="padding-left:20px;padding-bottom:10px;width:415px;margin-top:3px;font-size;10px;">

   <--- start auto gen  using js / java third party tool for sliders using the filament slider tool ---->
  <ol class="ui-slider-scale ui-helper-reset" role="presentation">
  <li style="left:0.00%"><span class="ui-slider-label ui-slider-label-show" style="margin-left: -11.5px; ">FAIR</span><span class="ui-slider-tic ui-widget-content" style="display: none;"></span></li>
  <li style="left:25.00%"><span class="ui-slider-label ui-slider-label-show" style="margin-left: -15.5px; ">GOOD</span><span class="ui-slider-tic ui-widget-content"></span></li>
  <li style="left:50.00%"><span class="ui-slider-label ui-slider-label-show" style="margin-left: -15.5px; ">VERY GOOD</span><span class="ui-slider-tic ui-widget-content"></span></li>
  <li style="left:75.00%"><span class="ui-slider-label ui-slider-label-show" style="margin-left: -15px; ">IDEAL</span><span class="ui-slider-tic ui-widget-content"></span></li>
  <li style="left:100.00%"><span class="ui-slider-label ui-slider-label-show" style="margin-left: -30px; ">SIGNATURE IDEAL</span><span class="ui-slider-tic ui-widget-content" style="display: none;"></span></li></ol>


  <--- end auto genereted list ---->

  </fieldset>
  </div>

что я хотел бы сделать, это иметь возможность выбрать этот

и изменить стиль диапазона в пределах вышеуказанного ?

как я могу выбрать конкретный

и диапазон внутри , используя jquery?

спасибо

Ответы [ 3 ]

1 голос
/ 09 мая 2011

CSS усекает десятичные точки.

$('li').css('left', function(index, value) {
    if (value === '100%') {
        $(this).children('span').css(''); //Do what you wish here
    }
});
1 голос
/ 09 мая 2011

Если это всегда последний, как в опубликованном коде, вы можете сделать что-то вроде этого:

var theLI = $("ul.ui-slider-scale > li:last")

, чтобы получить li.Затем, чтобы получить диапазон, вы можете сделать это:

theLI.find("span")

, чтобы получить диапазон.(Примечание: если вам нужен только промежуток, их можно объединить)

РЕДАКТИРОВАТЬ: если вы не можете полагаться на то, что он последний, вам нужно будет просмотреть их так:

$("ul.ui-slider-scale > li").each(function(){
    if($(this).css("left")==="100%"){
        // do your thing, 'this' is your li
    }
});
0 голосов
/ 09 мая 2011
$('li').filter(function(){
   return $(this).css("left") == "100%";
}).find('span').css("background-color","red");

Взгляните на эту демонстрацию

...