想做一个鼠标滑过,单元格所在行和列都变色的表格,写的时候查了一下js的写法,用jQuery写的时候,遇到的问题就是在同一列的单元格不太好算,最后写出来的结果如下,希望大牛给些建议,谢谢:
jQuery代码如下:<script type="text/javascript">
$(function(){
$("#tab tr").each(function(){
$(this).children("td").each(function(i){
$(this).mouseover(function(){
$(this).parent().css("backgroundColor","red");
$("#tab tr").each(function(){
$(this).children("td").each(function(j){
if(i==j){
$(this).css("backgroundColor","red");
}
});
});
});
$(this).mouseout(function(){
$(this).parent().css("backgroundColor",""); //注意,此处backgroundColor一定要置为“”而不是“white”
$("#tab tr").each(function(){
$(this).children("td").each(function(k){
if(i==k){
$(this).css("backgroundColor","");
}
});
});
});
});
});
});
</script>
jQuery代码如下:<script type="text/javascript">
$(function(){
$("#tab tr").each(function(){
$(this).children("td").each(function(i){
$(this).mouseover(function(){
$(this).parent().css("backgroundColor","red");
$("#tab tr").each(function(){
$(this).children("td").each(function(j){
if(i==j){
$(this).css("backgroundColor","red");
}
});
});
});
$(this).mouseout(function(){
$(this).parent().css("backgroundColor",""); //注意,此处backgroundColor一定要置为“”而不是“white”
$("#tab tr").each(function(){
$(this).children("td").each(function(k){
if(i==k){
$(this).css("backgroundColor","");
}
});
});
});
});
});
});
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
$("#tab tr").hover(
function(){
$(this).css("background","");
$(this).css("background","red");
},
function(){
$(this).css("background","");
$(this).css("background","white");
}
);
});
</script>
</head>
<body>
<table id="tab">
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
</table>
</body>
</html>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
<script type="text/javascript" src="jq.js"></script>
<script type="text/javascript">
$(function(){
$("#tab tr td").hover(
function(){
$(this).css("background","");
$(this).css("background","red");
},
function(){
$(this).css("background","");
$(this).css("background","white");
}
);
});
</script>
</head>
<body>
<table id="tab">
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#tab tr").hover(
function(){ $(this).addClass("hover");},
function(){$(this).removeClass("hover");}
);
});
</script>
<style>
.hover{background:#FF0000}
</style>
</head>
<body>
<table id="tab" border="0" cellpadding="0" cellspacing="0">
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td></tr>
</table>
</body>
</html>
<head runat="server">
<style type="text/css">
td{border:1px solid #ccc;}
</style>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#tab td").mouseover(function(){
var index = $(this).parent().find("td").index($(this))+1;
$("#tab td:nth-child("+index+")").css("background","red");
$(this).siblings().css("backgroundColor","red");
}).mouseout(function(){
var index = $(this).parent().find("td").index($(this))+1;
$("#tab td:nth-child("+index+")").css("background","")
$(this).siblings().css("backgroundColor","");
})
})
</script>
</head>
<body>
<table id="tab" border="0" cellpadding="0" cellspacing="0">
<tr><td>第一行第一列</td><td>第一行第二列</td><td>第一行第二列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td><td>第一行第二列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td><td>第一行第二列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td><td>第一行第二列</td><td>第一行第二列</td></tr>
<tr><td>第一行第一列</td><td>第一行第二列</td><td>第一行第二列</td><td>第一行第二列</td></tr>
</table>
</body>
</html>