<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>测试页</title>
    <script language="javascript" src="../js/jquery/jquery.js"></script>
    <script language="javascript" type="text/javascript">
        $(document).ready(function()
        {
            $("#table_main tr:odd").css("background","#00ee00");
            $("#table_main tr:even").css("background","#dd33ee");     //如果将background改成background-color,那么在IE中背景颜色将不起作用
        });
    </script>
    <style type="text/css">
        table tr
        {
            height:30px;
        }
    </style>
</head>
<body>
    <table id="table_main" style="width:700px;" cellpadding="0" cellspacing="0" border="1" align="center">
        <tr>
            <td style="width:50%;">1</td>
            <td>11</td>
        </tr>
        <tr>
            <td style="width:50%;">2</td>
            <td>22</td>
        </tr>
        <tr>
            <td style="width:50%;">3</td>
            <td>33</td>
        </tr>
        <tr>
            <td style="width:50%;">4</td>
            <td>44</td>
        </tr>
    </table>
</body>
</html>

解决方案 »

  1.   

    如果将你的代码改成下面这样,可能就对了:
    $(".table1 tr:even>td").css("backgroundColor","#FFFFFF");
    $(".table1 tr:odd>td").css("backgroundColor","#F5F7FA");不信你试试,如果你用“alert($(".table1").html()); ”就会发现它输出的代码中包含标记<tbody>,所以你加了“>”就错了。
      

  2.   

    直接用$(".table1 > tr:even")是不行的, 
            
    用$(".table1 > tbody > tr:even").css("backgroundColor", "#FFFFFF"); 
      $(".table1 > tbody > tr:odd").css("backgroundColor", "#F5F7FA"); 
    就可以了。 
    原因找到了,呵呵。 > 表示的是下一级的所有子节点。 
    table下面是tbody再下面是tr,虽然没写,但浏览器自动补全了,因为这种写法是不标准的写法。
      

  3.   

    jQuery(".table1 tr:even").addClass("alt");
    直接这样就行了。