在动态生成的列表中选择列表元素

时间:2011-05-09 17:39:34

标签: jquery list selection element

 <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>

我想做的是能够选择这个&lt; li style =“left:100.00%”&gt;并改变上述&lt;范围内的范围样式。 li style =“left:100.00%”&gt; ?

我如何选择特定的&lt; li style =“left:100.00%”&gt;并且在&lt; li style =“left:100.00%”&gt;使用jquery?

感谢

3 个答案:

答案 0 :(得分:1)

如果它始终是最后一个,如在发布的代码中,您可以执行以下操作:

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

得到李。然后在你内部获得跨度可以做到这一点:

theLI.find("span")

获得跨度。 (注意:如果你只需要跨度,可以合并这些)

编辑:如果你不能依赖它是最后一个,你需要像这样循环它们:

$("ul.ui-slider-scale > li").each(function(){
    if($(this).css("left")==="100%"){
        // do your thing, 'this' is your li
    }
});

答案 1 :(得分:1)

css截断小数点。

$('li').css('left', function(index, value) {
    if (value === '100%') {
        $(this).children('span').css(''); //Do what you wish here
    }
});

答案 2 :(得分:0)

$('li').filter(function(){
   return $(this).css("left") == "100%";
}).find('span').css("background-color","red");

Take look at this Demo