<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>homework1.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
window.onload = function(){
var tr = document.getElementsByTagName("tr");
for(var i=1;i<tr.length;i++){
tr[i].onclick = function(){
changecolor(this);
}
}
}
function changecolor(obj){
obj.style.backgroundColor= "red";
}
</script> </head>
<body>
<table border="1" style="background-color: blue">
<tr><td>商品名</td><td>单价</td><td>数量</td></tr>
<tr><td>蛋糕</td><td>20</td><td>3</td></tr>
<tr><td>葡萄</td><td>12</td><td>2</td></tr>
<tr><td>苹果</td><td>10</td><td>4</td></tr>
<tr><td>芒果</td><td>19</td><td>5</td></tr>
<tr><td>荔枝</td><td>8</td><td>2</td></tr>
</table>
</body>
</html>上面这个代码 鼠标点击一次 哪一行的背景颜色变成红色 然后点另一行的时候 原来点的哪一行 变回表格原来的颜色 而现在点的这一行变成红色 怎么实现
不用鼠标进入和离开的事件 只用onclick事件
<html>
<head>
<title>homework1.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
window.onload = function(){
var tr = document.getElementsByTagName("tr");
for(var i=1;i<tr.length;i++){
tr[i].onclick = function(){
changecolor(this);
}
}
}
function changecolor(obj){
obj.style.backgroundColor= "red";
}
</script> </head>
<body>
<table border="1" style="background-color: blue">
<tr><td>商品名</td><td>单价</td><td>数量</td></tr>
<tr><td>蛋糕</td><td>20</td><td>3</td></tr>
<tr><td>葡萄</td><td>12</td><td>2</td></tr>
<tr><td>苹果</td><td>10</td><td>4</td></tr>
<tr><td>芒果</td><td>19</td><td>5</td></tr>
<tr><td>荔枝</td><td>8</td><td>2</td></tr>
</table>
</body>
</html>上面这个代码 鼠标点击一次 哪一行的背景颜色变成红色 然后点另一行的时候 原来点的哪一行 变回表格原来的颜色 而现在点的这一行变成红色 怎么实现
不用鼠标进入和离开的事件 只用onclick事件
解决方案 »
- 类似excel一样拖动选择table单元格的javascript实现
- 精彩广告和网站常用js代码推荐
- Js实现控制文本框中字体的大小,粗斜体,下划线。
- 有关火狐不支持的一句框架代码frames[iframeid].location.href=url
- 求教:如何解决IE屏蔽javascript的问题?
- 如何更改一个label的内容?
- 如何写一个按钮的onClick事件 是这个按钮在按过以后变成灰色无法按得那种状态
- 在JAVASCRIPT中,如何让一个按钮隐藏起来?使用什么属性呢?
- 如何编写UBB标签!??!!!???
- 关于iframe间打开页面
- 哪位朋友能帮我 把帖子内容 解密一下 谢谢了
- Ext Store获取服务器的json数据时显示下载框
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>homework1.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
window.onload = function(){
var cur;
var tr = document.getElementsByTagName("tr");
for(var i=1;i<tr.length;i++){
tr[i].onclick = function(){
cur ? cur.style.backgroundColor = 'blue' : '';
changecolor(this);
cur = this;
}
}
}
function changecolor(obj){
obj.style.backgroundColor= "red";
}
</script> </head>
<body>
<table border="1" style="background-color: blue">
<tr><td>商品名</td><td>单价</td><td>数量</td></tr>
<tr><td>蛋糕</td><td>20</td><td>3</td></tr>
<tr><td>葡萄</td><td>12</td><td>2</td></tr>
<tr><td>苹果</td><td>10</td><td>4</td></tr>
<tr><td>芒果</td><td>19</td><td>5</td></tr>
<tr><td>荔枝</td><td>8</td><td>2</td></tr>
</table>
</body>
</html>
$(function(){
$("table tr").click(function(){
var color = $(this).backgroundcolor();
$(this).css("background-color","red").siblings().css("background-color","color");
})
})
或者先定义一个变色的CSS样式 .t { background-color:red;}
$(funciton(){
$("table > tr").click(function(){
$(this).addClass("t").siblings().removeClass("t");
})
})
changecolor(this); cur = this;这个地方没怎么看懂 能详细讲讲吗? 我刚接触JS不怎么熟悉
<html>
<head>
<title>homework1.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function () {
var trs = document.getElementById('tb').getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
trs[i].onclick = function () {
for (var j = 0; j < trs.length; j++) {
trs[j].style.backgroundColor = 'blue';
}
this.style.backgroundColor = 'red';
}
}
}
</script>
</head>
<body>
<table id="tb"border="1" style="background-color: blue">
<tr>
<td>
商品名
</td>
<td>
单价
</td>
<td>
数量
</td>
</tr>
<tr>
<td>
蛋糕
</td>
<td>
20
</td>
<td>
3
</td>
</tr>
<tr>
<td>
葡萄
</td>
<td>
12
</td>
<td>
2
</td>
</tr>
<tr>
<td>
苹果
</td>
<td>
10
</td>
<td>
4
</td>
</tr>
<tr>
<td>
芒果
</td>
<td>
19
</td>
<td>
5
</td>
</tr>
<tr>
<td>
荔枝
</td>
<td>
8
</td>
<td>
2
</td>
</tr>
</table>
</body>
</html>
var tr = document.getElementsByTagName("tr");
for(var i=1;i<tr.length;i++){
tr[i].onclick = function(){
cur ? cur.style.backgroundColor = 'blue' : '';
changecolor(this);
cur = this;
}
}
首先定义个 全局 cur
第一次点击tr时,判断 cur是否有值,有的话,就把cur的背景变回蓝色(默认色),紧随改变当前点击tr的背景,接着把当前点击的tr对象赋给cur第2次点击tr时,cur就有值了(值是第一次点击的tr对象),变回蓝色接着第2次点击的tr红色,再赋值给cur
赋值给cur 就相当于把上次点击的那个tr的背景颜色改为默认色 如此循环下去。。还是头次一次 这样见到用三元运算符 真是太神奇了 谢谢你了
5楼的做法和我之前一样 不过我觉得这样 两个循环看起来 有点浪费资源 不过还是谢谢你们