js实现表格的选中一行-------Day58

2023-05-16

最开始想更多的用js来动态操作表格,是因为在应用了easyUI之后,发现直接写一个<table id="tt"></table>,这就够了,界面里面就剩下这么一个标签了,豁然干净了好多啊,当然要应用的还有好多知识,像json等,那个后期再说这里先模仿生成下table的一些样式吧。

前面记录了动态的增加一行,insertRow()和insertCell()这么两个方法;然后又记录了删除一行或者一列的deleteRow()和deleteCell(),记得哦,没写的话就是从上向下,从左到右哦,今天再来记录下,选中表格的其中一行

先设想下它的实现效果:

1、原始样式:


2、鼠标滑过时:


3、鼠标选中点击某一行


我们来记录下它的具体实现,虽然它看起来如此简单。

1、先写html语言,当然还是应用的前几天同样的代码,但是多了一点点...

 <div id="testDiv" style="width: 60%;margin-left: 10%;margin-top: 50px;height: 1100px;background-color: #f2f2f2;padding: 60px 10px 10px 200px;">
	  	<table width="100%" height="100px" border="1px"  id="tad" οnmοuseοver="getrow(this)" οnmοuseοut="backrow(this)" οnclick="selectRow(this)">
	  		<tr><td>1</td><td>1</td></tr>
	  		<tr><td>3</td><td>1</td></tr>
	  		<tr><td>5</td><td>1</td></tr>
	  	</table> 
	  	<input type="button" οnclick="b()" value="add">
	  	<input type="button" οnclick="c()" value="delRow">
	  	<input type="button" οnclick="d()" value="delCol">
	  </div>
看出差别在哪了么,对就是在table上多了onclick、onmouseover和onmouseout等事件,而且事件传递的参数时table对象本身

2、javascript实现相应的效果

function getrow(obj){
   if(event.srcElement.tagName=="TD"){
   curRow=event.srcElement.parentElement;
   curRow.style.background="yellow";
   }
}
function backrow(obj){
	if(event.srcElement.tagName=="TD"){
	curRow=event.srcElement.parentElement;
	curRow.style.background="#f2f2f2";
	}
}
function selectRow(obj){
	if(event.srcElement.tagName=="TD"){
	curRow=event.srcElement.parentElement;
	curRow.style.background="blue";
	alert("这是第"+(curRow.rowIndex+1)+"行");
	}
}
这里的编码有一个最关键点:

event.srcElement.tagNameevent.srcElement.parentElement在这里的应用;

event是触发时间的源对象,而srcElement则就是选中对象,而parentElement则是选中对象的父层对象;以当前的例子来简单解释的话,就是说,鼠标放上table,从而激活了时间getrow(this),当鼠标放在任一单元格之上时,它的srcElement都是 td,而且它的parentElement也就是tr一行了,则找到一行的对象了,对它的操作就回到最基本的那些开始了啊


今天提交了一个小资源,一直飞翔的鹰,不得不说,我找的几张图片太不搭配了,虽然有了飞翔的大体意思,但是整体的显示太粗糙了,不过话糙理不糙吧就当,而且完成的时候我看着还挺开心的,哈哈.....





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js实现表格的选中一行-------Day58 的相关文章

  • Android-MVVM-Databinding的原理、用法与封装

    前言 说起 DataBinding ViewBinding 的历史 xff0c 可谓是一波三折 xff0c 甚至是比 Dagger Hilt 还要传奇 说起依赖注入框架 Dagger2 Hilt xff0c 也是比较传奇 xff0c 刚出来
  • day03 Python基础

    day03 Python基础 版权声明 xff1a 本博客转载自路飞学城Python全栈开发培训课件 xff0c 仅用于学习之用 xff0c 严禁用于商业用途 xff0c 未经授权 xff0c 严禁转载 欢迎访问路飞学城官网 xff1a h
  • 最新Spire.pdf Spire.Doc Spire.Xls等无水印使用

    Aspose与Spire功能都很强大 xff0c 为什么要选择Spire xff0c Spire支持WPF组件 xff0c Aspose默认没有 新建 net6控制台程序 xff0c 用NuGet包添加Spire PDF引用 添加代码 us
  • 使用Pyinstaller发布带界面的程序(解决找不到文件问题)

    Pyinstaller Pyinstaller可以用来打包python代码 xff0c 生成可执行文件 xff08 主流平台都可以 xff09 xff0c 介绍就不说了 xff0c 可以百度或者去官网看看 xff1a https www p
  • 动态分配内存——new/delete

    动态分配内存 1 使用new分配内存2 使用delete释放内存3 例子 xff1a 数组编译时分配内存和运行时分配内存4 动态数组补充 xff1a 程序的内存分配 1 使用new分配内存 使用格式 xff1a span class tok
  • Spring学习(一) Spring环境配置

    工具原料 xff1a JDK Eclipse IDEA 开始学Spring xff0c 应该已经安好java环境了 xff0c 这里我就不赘述了 xff0c 直接开始开始下一步的教程 配置spring环境需要导入spring相关的jar包
  • vue-lottie动画效果(进阶篇)

    vue lottie动画效果 以下是个人见解部分 个人见解 xff1a 优点 xff1a 简单高效 xff0c 动画文件小 xff0c 丝滑流畅 xff0c 动画可控性强 缺点 xff1a 依赖包非常重 xff0c 对动画要求不高的项目不太
  • Ubuntu18.04设置开机自启动自己的程序、脚本

    Ubuntu18 04设置开机自启动自己的程序 脚本 本文使用的机器是win10 43 Ubuntu18 04双系统 xff0c 虚拟机上的Ubuntu18 04操作一样 xff0c 均可参考此文 参考链接 xff0c 言简意赅 xff0c
  • 【Qt】【QDebug】【日志】实用的Qt日志打印-打印时间-线程-数据等信息

    Qt QDebug 日志 实用的Qt日志打印 打印时间 线程 数据等信息 在开发audio和video相关软件时 xff0c 收发速率很关键 xff0c 我们需要打印时间和线程等相关信息等日志 include lt QDebug gt 获取
  • DNS(域名解析协议)详解

    DNS协议 我们之前已经了解过ARP协议 如果说ARP协议是用来将IP地址转换为MAC地址 xff0c 那么DNS协议则是用来将域名转换为IP地址 xff08 也可以将IP地址转换为相应的域名地址 xff09 我们都知道 xff0c TCP
  • Mybatis之使用注解开发CRUD

    上一篇演示了如何使用XML来操作Mybatis实现CRUD xff0c 但是大量的XML配置文件的编写是非常烦人的 因此 Mybatis也提供了基于注解的配置方式 xff0c 下面我们来演示一下使用接口加注解来实现CRUD的的例子 首先是创
  • 查看windows服务器的I/O的3种方法

    http blog chinaunix net uid 20344928 id 5597137 html 碎碎念 xff1a 感觉第二种简单 windows查看I O的方法有3种 xff1a 1 任务管理器 打开任务管理器 xff0c 点击
  • 【Tensorflow】辅助工具篇——scikit-image介绍

    很多时候我们跑deep learning算法的难点不在于搭建网络 xff0c 而是数据获取与处理 xff0c 当你看到大量的数据却无从下手时该是怎样的心情 xff01 这几篇我将为大家介绍目前很多paper代码复现中比较流行的辅助工具 首先
  • 一劳永逸,wsl2出现“参考的对象类型不支持尝试的操作”的解决办法

    wsl在使用是会出现 参考的对象类型不支持尝试的操作 的故障导致无法使用 出现上述问题原因是使用代理软件 xff0c 或游戏加速服务 xff0c winsock出现问题 可以通过注册表的方式 xff0c 排除从winsock中排除wsl即可
  • Python中的路径获取方法总结

    遍历文件夹下文件 xff1a os walk dir path def getFlist path for root dirs files in os walk file dir print 39 root dir 39 root 当前路径
  • Android Studio设置了断点却无法进入断点调试(多进程调试)

    有的时候在Android Studio中明明设置了断点 xff0c 也确认了代码会走到断点处 xff0c 但是执行Debug后 xff0c 断点处会显示打钩 xff0c 却不能但不调试 xff0c 好像代码已经执行过去了 这种问题大概率就是
  • mysql16

    常见面试题 MySQL 中有哪些存储引擎 xff1f InnoDB 存储引擎 InnoDB 是 MySQL 的默认事务型引擎 xff0c 也是最重要 使用最广泛的存储引擎 它被设计用来处理大量的短期 short lived 事务 xff0c
  • CSDN 博客备份工具

    前言 核心 登录模块 备份模块 博文扫描模块 演示 如何使用 效果 总结 前言 近段时间以来 听群友博友都在谈论着一件事 CSDN博客怎么没有备份功能啊 这其实也在一定程度上表征着大家对于文章这种知识性产品的重视度越来越高 也对于数据的安全
  • 如何在 Linux 中查找一个文件

    导读对于新手而言 xff0c 在 Linux 中使用命令行可能会非常不方便 没有图形界面 xff0c 很难在不同文件夹间浏览 xff0c 找到需要的文件 本篇教程中 xff0c 我会展示如何在 Linux 中查找特定的文件 第一步要做的是通
  • [Android 调试] 解决linux系统不识别设备、手机问题方法

    最近在开发过程中linux不识别开发板设备 手机 xff0c 看了下dev guide xff0c 现在把方法提供给大家 1 If you 39 re developing on Ubuntu Linux you need to add a

随机推荐