关于设置html中表格颜色交替的问题

我想要的效果是:1.表格奇偶行颜色交替设置;2.选中某一行时,该行颜色发生变化;3.当鼠标进入该行时,该行高亮;当鼠标离开该行时,颜色变为原来设置的交替颜色。<htmlx... 我想要的效果是:1.表格奇偶行颜色交替设置;2.选中某一行时,该行颜色发生变化;3.当鼠标进入该行时,该行高亮;当鼠标离开该行时,颜色变为原来设置的交替颜色。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>表格效果</title>
<style type="text/css">
.selected
{
background-color: blue;
}
.highlight
{
background-color: red;
}
.style1
{
width: 247px;
}
tr:nth-child(odd) {
background-color: white;
</style>
<script src="JS/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("tr").click(function () {
$(this).toggleClass("selected");
});
$("tr").hover(
function () { $(this).addClass("highlight"); },
function () { $(this).removeClass("highlight"); }
);
});

</script>
</head>
<body>
<div id="main">
<table border="1";
style="height: 79px; width: 827px; background-color: #808080;" >
<tr>
<td>
12
</td>
<td>
12
</td>
<td >
12
</td>
</tr>
<tr>
<td>
12
</td>
<td>
12
</td>
<td >
12
</td>
</tr>
</table>
</div>
</body>
</html>
这样的确实现了表格的颜色交替,但是奇数行(颜色为白色),当我鼠标指上去的时候,它的颜色不会高亮,而偶数行就可以,而且,选定一行的时候。选定行会变为蓝色,奇数行也不可以,这是怎么回事?
展开
 我来答
luxianai
推荐于2016-07-13 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:111万
展开全部
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>表格效果</title>
    <style type="text/css">
        .highlight
        {
            background-color: red;
        }
        .selected
        {
            background-color: blue;
        }
        .style1
        {
            width: 247px;
        }

.tr_w{background-color: white;  }
.tr_g{background-color: #808080;  }
    </style>
    <script src="JS/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("tr").click(function () {
                $(this).toggleClass("selected");
            });
            $("tr").hover(
            function () { $(this).removeClass("tr_g tr_w").addClass("highlight"); },
            function () { if(!$(this).hasClass("selected")){table_tr();$(this).removeClass("highlight");} }
            ); 
    table_tr();
        });
        
function table_tr(){
    $("tr:odd").addClass("tr_g"); //先排除第一行,然后给奇数行添加样式
            $("tr:even").addClass("tr_w"); //先排除第一行,然后给偶数行添加样式
}
    </script>
</head>
<body>
<div id="main">
    <table border="1"; style="height: 79px; width: 827px;" >
        <tr>
            <td>
                12
            </td>
            <td>
                12
            </td>
            <td >
                12
            </td>
        </tr>
        <tr>
            <td>
                12
            </td>
            <td>
                12
            </td>
            <td >
                12
            </td>
        </tr>
    </table>
    </div>
</body>
</html>

给你改了点样式,和修改了一点js代码

追问
我测试了下,如果选定两行,那么这两行应该都变成selected的颜色(蓝色),然后我再次点击了第2行,本来只有第2行取消selected的颜色(蓝色),但是第一行也取消了颜色。

还有就是,table_tr()这个函数里面,你写的那两行注释中,“先排除第一行”,这个怎么理解?如果我不是只有两行,而是有多行的话,这个怎么搞?
追答


    <style type="text/css">
.tr_w{background-color: white;  }
.tr_g{background-color: #808080;  }
        .highlight
        {
            background-color: red;
        }
        .selected
        {
            background-color: blue;
        }
        .style1
        {
            width: 247px;
        }
    </style>
    <script src="JS/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("tr").click(function () {
                $(this).toggleClass("selected");
            });
            $("tr").hover(
            function () { if(!$(this).hasClass("selected")){$(this).addClass("highlight"); }},
            function () { if(!$(this).hasClass("selected")){$(this).removeClass("highlight");} }
            ); 
table_tr();
        });
        
function table_tr(){
   $("tr:odd").addClass("tr_g"); //给奇数行添加样式
            $("tr:even").addClass("tr_w"); //给偶数行添加样式
}
    </script>
把这段代码拿过去用就行了,css 样式位置调整了一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式