一个能给添加行的表格

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.table{width:100%; border:1px solid #eee; border-collapse:collapse;}
.table > tbody > tr{}
.table > tbody > tr > td{text-align:center; border:1px solid #eee;}
</style>
<script>
window.onload = function(){
var testTable = document.getElementById("testTable");
var testBtn = document.getElementById("testBtn");
var test1 = document.getElementById("test1");
var test2 = document.getElementById("test2"); testBtn.onclick = function(){
var oTr = document.createElement("tr"); var oTd1 = document.createElement("td");
oTd1.innerHTML = testTable.tBodies[0].rows.length + 1;
oTr.appendChild(oTd1); var oTd2 = document.createElement("td");
oTd2.innerHTML = test1.value;
oTr.appendChild(oTd2); var oTd3 = document.createElement("td");
oTd3.innerHTML = test2.value;
oTr.appendChild(oTd3); testTable.tBodies[0].appendChild(oTr);
};
};
</script>
</head> <body>
test1:<input id="test1" type="text" />
test2:<input id="test2" type="text" />
<input id="testBtn" type="button" value="ADD" />
<table class="table" id="testTable">
<thead>
<tr>
<th>test</th>
<th>test</th>
<th>test</th>
</tr>
</thead>
<tbody>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
</tr>
</tbody>
</table>
</body>
</html>

一个能添加行又能删除行的表格

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.table{width:100%; border:1px solid #eee; border-collapse:collapse;}
.table > tbody > tr{}
.table > tbody > tr > td{text-align:center; border:1px solid #eee;}
</style>
<script>
window.onload = function(){
var testTable = document.getElementById("testTable");
var testBtn = document.getElementById("testBtn");
var test1 = document.getElementById("test1");
var test2 = document.getElementById("test2");
var id = testTable.tBodies[0].rows.length + 1; testBtn.onclick = function(){
var oTr = document.createElement("tr"); var oTd1 = document.createElement("td");
oTd1.innerHTML = id;
id++;
oTr.appendChild(oTd1); var oTd2 = document.createElement("td");
oTd2.innerHTML = test1.value;
oTr.appendChild(oTd2); var oTd3 = document.createElement("td");
oTd3.innerHTML = test2.value;
oTr.appendChild(oTd3); var oTd4 = document.createElement("td");
oTd4.innerHTML = '<a href="javascript:;">delete</a>';
oTr.appendChild(oTd4); oTd4.getElementsByTagName("a")[0].onclick = function(){
testTable.tBodies[0].removeChild(this.parentNode.parentNode);
}; testTable.tBodies[0].appendChild(oTr);
};
};
</script>
</head> <body>
test1:<input id="test1" type="text" />
test2:<input id="test2" type="text" />
<input id="testBtn" type="button" value="ADD" />
<table class="table" id="testTable">
<thead>
<tr>
<th>test</th>
<th>test</th>
<th>test</th>
<th>option</th>
</tr>
</thead>
<tbody>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td></td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td></td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td></td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td></td>
</tr>
<tr>
<td>test</td>
<td>test</td>
<td>test</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>

一个能搜索的表格

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.table{width:100%; border:1px solid #eee; border-collapse:collapse;}
.table > tbody > tr{}
.table > tbody > tr > td{text-align:center; border:1px solid #eee;}
</style>
<script>
window.onload = function(){
var testTable = document.getElementById("testTable");
var txt = document.getElementById("s_text");
var btn = document.getElementById("search"); btn.onclick = function(){
for(var i=0;i<testTable.tBodies[0].rows.length;i++){
if(testTable.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase() == txt.value.toLowerCase()){
testTable.tBodies[0].rows[i].style.background = "yellow";
}else{
testTable.tBodies[0].rows[i].style.background = "";
}
}
}; };
</script>
</head> <body>
test:<input id="s_text" type="text" />
<input id="search" type="button" value="Search" />
<table class="table" id="testTable">
<thead>
<tr>
<th>test</th>
<th>test</th>
<th>test</th>
<th>option</th>
</tr>
</thead>
<tbody>
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td></td>
</tr>
<tr>
<td>test4</td>
<td>test5</td>
<td>test6</td>
<td></td>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td></td>
</tr>
<tr>
<td>test4</td>
<td>test5</td>
<td>test6</td>
<td></td>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>

除此之外还可以使用search()进行模糊搜索,用split()进行多关键词搜索。

我们可以对表格提供排序服务,我们可以模拟一个List,Table和它的写法一样。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
.table{width:100%; border:1px solid #eee; border-collapse:collapse;}
.table > tbody > tr{}
.table > tbody > tr > td{text-align:center; border:1px solid #eee;}
</style>
<script>
window.onload = function(){
var nl = document.getElementById("numberList");
var btn = document.getElementById("order"); btn.onclick = function(){
var aLi = nl.getElementsByTagName("li"); var arr = []; for(var i=0;i<aLi.length;i++ ){
arr[i] = aLi[i];
} arr.sort(function(l1,l2){
var n1 = parseInt(l1.innerHTML);
var n2 = parseInt(l2.innerHTML); return n1 - n2;
}); for(var i=0;i<arr.length;i++){
nl.appendChild(arr[i]);
}
};
};
</script>
</head> <body>
<input id="order" type="button" value="Order" />
<ul id="numberList">
<li>21</li>
<li>88</li>
<li>45</li>
<li>17</li>
<li>3</li>
</ul>
</body>
</html>

JS DOM之表格操作的更多相关文章

  1. 原生js封装table表格操作,获取任意行列td,任意单行单列方法

    V1.001更新增加findTable-min.js 本次更新,优化了代码性能方面,增加了部分新功能,可以获取多个table表格批量操作. 考虑到本人后面的项目中可能涉及到大量的表格操作,提前先封了 ...

  2. JS DOM元素的操作(创建,添加,删除,和修改属性)

    1.1 创建 DOM 元素以及相应的追加方式 1.1.1  创建:document.createElement('div'); 添加: fatherEle.appendChild(ele); appe ...

  3. JS Dom节点操作demo!

    通过黑马课程的学习,在这里分享一个js Dom中节点操作的小练习 需求:使用js创建一个4*3的表格table. onload = function(){ function c(tagName){ r ...

  4. JS DOM操作(创建、遍历、获取、操作、删除节点)

    创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ...

  5. 采用DOM进行表格的修改操作

    2015-08-31 <html> <head> <title>采用DOM进行表格的修改操作</title> <script language=& ...

  6. js 表格操作----添加删除

    js 表格操作----添加删除 书名:<input type="text" id="name"> 价格:<input type="t ...

  7. DOM表格操作

    注意:就算代码中不包含<tbody>标签,浏览器解析时也可能会自动添加,因此需要注意子元素的选择 表格操作用到的属性: 1.tHead 2.tBodies 3.tFoot 更为细致的有: ...

  8. DOM拓展表格小练习

    涉及的知识点 DOM操作HTML页面.DOM操控表格.一些基本的事件.遍历知识.数组字符串知识.函数的作用域知识 效果图 html代码 <body><div id="con ...

  9. JS组件系列——表格组件神器:bootstrap table

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

随机推荐

  1. 【分层最短路】Joyride

    http://codeforces.com/gym/101873 C 多开一维状态记录时间,d[i][t] = 经过时间t走到节点i的最小花费 每一个状态分别向"原地等待"与&qu ...

  2. 线段树---poj3468 A Simple Problem with Integers:成段增减:区间求和

    poj3468 A Simple Problem with Integers 题意:O(-1) 思路:O(-1) 线段树功能:update:成段增减 query:区间求和 Sample Input 1 ...

  3. JNDI和JDBC

    没有JNDI的做法:程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的 JDBC URL 连接到数据库.就像以下代码这 ...

  4. VC++调试基础

    一.调试基础 调试快捷键 F5:  开始调试 Shift+F5: 停止调试 F10:   调试到下一句,这里是单步跟踪 F11:   调试到下一句,跟进函数内部 Shift+F11:  从当前函数中跳 ...

  5. 获取emacs安装的elpa包名称

    | grep "./" | sed 's/\.\///g' | sed 's/-[0-9].*$//' | sort -u

  6. ThinkPHP的调用css,js和图片的路径

    按网上的说法,在根目录下建了一个Public目录,把css,js和图片放到Public目录下,然后用__PUBLIC__/...或__ROOT__/Public/...调用.但是发现无论如何改路径都无 ...

  7. 第161天:CSS3实现兼容性的渐变背景(gradient)效果

    CSS实现兼容性的渐变背景(gradient)效果 一.有点俗态的开场白 在对CSS3支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成为可能,本文就将展示如何实现兼容性的渐变背景效果.在众多的浏 ...

  8. 第111天:Ajax之jQuery实现方法

    由于jQuery中的Ajax方法是用了内置的deferred模块,是Promise模式的一种实现,而我们这里没有讲过,所以我们就不使用这一模式啦. 我们只定义一个Ajax方法,他可以简单的get,po ...

  9. 【ASP.NET Core 】ASP.NET Core 源码学习之 Logging[1]:Introduction

    在ASP.NET 4.X中,我们通常使用 log4net, NLog 等来记录日志,但是当我们引用的一些第三方类库使用不同的日志框架时,就比较混乱了.而在 ASP.Net Core 中内置了日志系统, ...

  10. HDU3507_Print Article

    这个题目又是一个典型的dp斜率优化的题目.题意是给你n个数,你需要做的是把这个n个数分为连续的若干段,每段的权值为这段数字的和的平方加上M.求最小的总权值. 我们可以根据题意写出朴素版的dp状态转移方 ...