我有一堆li元素,想要使用奇偶数交替着色,并根据鼠标悬停来突出显示。为了取消突出显示,我需要追踪以前使用的颜色,奇数还是偶数。为了做到这一点,当我应用突出显示颜色时,我首先将一个任意属性设置为它。这种方法有什么不足之处吗?有更好的方法吗?以下是代码:
<script type="text/javascript">
var init = function(event){
$("li:odd").css({'background-color' : '#eeeeee', 'font-weight' : 'bold'});
$("li:even").css('background-color', '#cccccc');
//initial colors setup
$("li").hover(
function () //hover over
{
var current = $(this);
current.attr('old-background', current.css('background-color'));
current.css('background-color', '#ffee99');
}
, function() //hover out
{
var current = $(this);
current.css('background-color', current.attr('old-background'));
})
}
$(document).ready(init);
</script>
有没有更好的方法来解决这个问题呢?