单击行,选中变色

liuhong_csdn 2019-08-22 05:37:44
css:

.haveBorder{
background:#a3e2c5;
}
.nonBorder{
border:none
}

js:
$(document).ready(function() {
//获取Table行
var trs = document.getElementById("tb_keyTool").getElementsByTagName("tr");

for(var i=0;i<trs.length;i++){
trs[i].onclick = function(){
for(var j=0;j<trs.length;j++){
//选中其他后样式
trs[j].className="nonBorder";
}
//选中添加样式
this.className="haveBorder";
}
}
} );


function dbClick(varHref){
window.location.href=varHref;
}

<body>
<table>
<tr onDblClick="dbClick('${vo.notes_url}')" class="">
</tr>
</table>
</body>
...全文
88 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
很会飞的马 2019-08-23
  • 打赏
  • 举报
回复
首先,循环遍历给每一行添加点击事件可以优化为事件委托(自行搜索) 其次,点击的时候先把所有行的className删除,再给当前行添加className,这样问题不就很简单了吗。你这么整可真复杂
前端_小菜鸟 2019-08-23
  • 打赏
  • 举报
回复

   for(var j=0;j<trs.length;j++){
 	//选中其他后样式
 	trs[j].className="nonBorder";
 	}
你这段代码输出应该是有问题的,你点击后输出这个j 点多几次就会发现 问题了,遇到这种问题一般就是点击后找不到当前元素的点击事件,添加不了对应的calss名称 输出来找找原因就大概明白了,把操作都取消,输出一下j

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧