js table的笔记,实现添加 td,实现搜索功能
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<script>
window.onload=function()
{
var oTab=document.getElementById("tab1");
// alert(oTab.getElementsByTagName("tbody")[0].getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML);
// //表格可以简便写成下面的
// alert(oTab.tBodies[0].rows[1].cells[1].innerHTML);
//
//
// 隔行变色
for(var i=0;i<oTab.tBodies[0].rows.length;i++)
{
var col1=''; //储存当前标题栏的颜色
oTab.tBodies[0].rows[i].onmouseover=function()
{
col1=this.style.background; //先把当前的颜色存储起来
this.style.background="red"; //当移动到其中的td标签上显示红色
}
oTab.tBodies[0].rows[i].onmouseout=function()//当离开td时候,变回原来的颜色
{
this.style.background=col1;
}
if (i%2)//隔行变色
{
oTab.tBodies[0].rows[i].style.background="#ccc";
}
else
{
oTab.tBodies[0].rows[i].style.background="";
}
} //增加一个li
var name =document.getElementById("name");
var age =document.getElementById("age");
var add=document.getElementById("btn");
var num=oTab.tBodies[0].rows.length+1;//先增加row 的长度
add.onclick=function()
{ var newRow= document.createElement("tr"); //增加新的一行
var newCell0=document.createElement("td"); //增加新的一列
newCell0.innerHTML=num++;
newRow.appendChild(newCell0); var newCell1=document.createElement("td"); //再增加一列
newCell1.innerHTML=name.value; //text上的值
newRow.appendChild(newCell1); var newCell2=document.createElement("td"); //再增加一列
newCell2.innerHTML=age.value; //text的值
newRow.appendChild(newCell2); var newCell3=document.createElement("td"); //增加一列
newCell3.innerHTML="<a href='javascript:;'>删除</a>"; //加入删除标签
newRow.appendChild(newCell3); oTab.tBodies[0].appendChild(newRow); // 把这行放入body上 newCell3.getElementsByTagName("a")[0].onclick=function() //当点解删除标签删除tr节点
{
oTab.tBodies[0].removeChild(this.parentNode.parentNode); //this为a标签 this.parentNode为td this.parentNode.parentNode为tr
}
} //搜索功能
var oTex=document.getElementById("search1");
var oBtn=document.getElementById("btn2"); oBtn.onclick=function()
{ for(var i=0;i<oTab.tBodies[0].rows.length;i++)
{
var sTab=oTab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();//行中名字的值并转化成小写
var sTex=oTex.value.toLowerCase(); //用户输入的值并转化成小写
var arr=sTex.split(' ');//如果用户用空格隔开关键字 oTab.tBodies[0].rows[i].style.background='';//把所有的背景都设置为空
//如果刷选,把css换成block显示就行 for(var j=0;j<arr.length;j++)
{
if (sTab.search(arr[j])!=-1) //调用search函数查找截取出来的字符数组,判断是否存在,
{
oTab.tBodies[0].rows[i].style.background="yellow";//存在改变td的颜色
} }
}
} };
</script> </head>
<body>
姓名:<input type="text" id="name">
年龄:<input type="text" id="age">
<input type="button" value="add" id="btn"/> <table border="1" width="500px" id="tab1">
<thead>
<td>ID</td>
<td>姓名</td>
<td>年龄</td>
<td>操作</td>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Bule</td>
<td>27</td>
<td></td>
</tr> <tr>
<td>2</td>
<td>张三</td>
<td>23</td>
<td></td>
</tr> <tr>
<td>3</td>
<td>李四</td>
<td>28</td>
<td></td>
</tr> <tr>
<td>4</td>
<td>王五</td>
<td>25</td>
<td></td>
</tr>
<tr>
<td>5</td>
<td>张伟</td>
<td>25</td>
<td></td>
</tr>
</tbody>
</table>
搜素姓名:<input type="text" id="search1" />
<input type="button" value="搜素" id="btn2" /> </body>
</html>
js table的笔记,实现添加 td,实现搜索功能的更多相关文章
- angularjs1 实现地图添加自定义控件(搜索功能)及事件
// 添加地图自定义控件的事件 function addEventHandler(target, eventName, handler) { if (target.addEventListener) ...
- Hexo next主题添加站内搜索功能
根据关键字搜索博文,站内搜索的功能很实用.hexo开启站内搜索很方便,已经有现成的插件可以使用,也是为了方便自己 安装插件 npm install hexo-generator-search --sa ...
- 表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)
看着网上的视频教程,虽说还是有点简单,但还是不免想记录下.这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几 ...
- 011.Adding Search to an ASP.NET Core MVC app --【给程序添加搜索功能】
Adding Search to an ASP.NET Core MVC app 给程序添加搜索功能 2017-3-7 7 分钟阅读时长 作者 本文内容 1.Adding Search by genr ...
- js中获取 table节点各tr及td的内容方法
js中获取 table节点各tr及td的内容方法 分类: java基础2013-10-12 17:54 1055人阅读 评论(0) 收藏 举报 <table id="tb1" ...
- Vue.js 2.x笔记:基本语法(2)
1. Vue实例及选项 1.1 创建Vue实例(new Vue instance) 每个Vue Application必须创建一个root Vue Instance. <script> v ...
- vue.js 作一个用户表添加页面----初级
使用vue.js 制作一个用户表添加页面,实际上是把原来需要使用js写的部分,改写成vue.js的格式 首先,想象一下,先做思考,我们要添加用户表,设涉及到哪些数据,一个是用户id,一个是用户名,一个 ...
- JS SDK 随手笔记
JS SDK 随手笔记 窗口模块 Frame/Multi Frame 对话框 页面间的通讯 生命周期 窗口层叠 窗口模块 窗口模块是是AppCan移动应用界面最基本的单位.窗口是每个界面布局的基础,他 ...
- js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定
js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener( ...
随机推荐
- 《C与指针》第十五章练习
本章例程 15.1打开和关闭文件 #include <stdlib.h> #include <stdio.h> int main(int ac, char **av) { in ...
- ayase系列
[冒个泡]技能视觉效果の自定义 by ayase [11-09 V2.4]任务数量转换属性点的lua脚本 [335]瞎倒腾的item.dbc生成工具..
- Chapter 1: Design the application architecture
1.1 Plan the application layers 提到了repository pattern,SoC(Separation of Concern), 进而提及MVC,Action/Act ...
- Web 应用程序中的安全向量 – ASP.NET MVC 4 系列
Web 程序运行在标准的.基于文本的协议(HTTP 和 HTML)之上,所以特别容易受到自动攻击的伤害.本章主要介绍黑客如何滥用应用程序,以及针对这些问题的应对措施. 威胁:跨站脚本 ...
- 转义字符(\)对JavaScript中JSON.parse的影响概述
JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象,本文为大家介绍下转义字符对JSON.p ...
- 5G扫盲
打开手机,连接wifi,如果想要下载一部自己喜欢的高清电影,一般需要半小时左右的时间.5G时代,你可能花费不到1分钟就能完成这些操作.更快的网速.更多的应用意味着更广阔的市场空间,也意味着更激烈的市场 ...
- C#将exe运行程序嵌入到自己的winform窗体中
以下例子是将Word打开,然后将它嵌入到winform窗体中,效果如下图:C将exe运行程序嵌入到自己的winform窗体中 - kingmax_res - iSport注意:该方法只适用于com的e ...
- mongodb高级查询
前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客 MongoDB下载安装与简单增删改查 前奏:启 ...
- 通过单元测试理解spring容器以及dubbo+zookeeper单元测试异常处理
一.先说一个结论:单元测试与主项目的spring容器是隔离的,也就是说,单元测试无法访问主项目spring容器,需要自己加载spring容器. 接下来是代码实例,WEB主项目出于运行状态,单元测试中可 ...
- java byte&0xFF
做串口端口通讯时,数据都是以byte类型发送的 普通的byte范围是-128-127,而java的byte范围是0-255 因此将数据的byte转成java的byte时,需要与0xff(1111111 ...