循环通过li元素向上dom

时间:2012-07-05 20:31:47

标签: javascript jquery

我有li元素

<ul class="">

        <li class="current-rating" id="current-rating" style="width: 0px"></li>

        <li><a href="#" title="1 star out of 5" class="one-star star star-rating stars-1">1</a></li>

        <li><a href="#" title="2 star out of 5" class="two-stars star star-rating stars-1">2</a></li>

        <li><a href="#" title="3 star out of 5" class="three-stars star star-rating stars-1">3</a></li>

        <li><a href="#" title="4 star out of 5" class="four-stars star star-rating stars-1">4</a></li>

        <li><a href="#" title="5 star out of 5" class="five-stars star star-rating stars-1">5</a></li>

   </ul>

当我鼠标滑过说3时,我怎样才能将所有元素都放到dom上?即当我点击或鼠标悬停在第三个li时,我想要3个li。当我鼠标超过5时我已经全部5.我不知道如何我可以遍历dom我尝试使用parent()和parent()但是没有工作。

1 个答案:

答案 0 :(得分:4)

jsBin demo

仅使用.prevAll().andSelf()作为评级系统。可以做到这一点。

http://api.jquery.com/prevall
http://api.jquery.com/andself

但请注意,如果您希望将原始选择器与.andSelf()组合使用,请执行以下操作:

$('li').hover(function(){
   $(this).prevAll().andSelf().css({background: 'gold'});
},function(){
   $(this).prevAll().andSelf().css({background: '#eee'});
});

我留给你做交换类欺骗和click魔法。你有你需要的一切。