js表格上下移动添加删除
html部分
<div onclick='fn()'>加</div>
<table width="250" border="1" >
<tbody id="div">
<tr>
<td width="25%">1</td>
<td width="25%">11</td>
<td width="25%"><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td width="25%"><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
<td width="25%"><a href="javascript:void(0)" onclick="shanchu(this)">删除</a></td>
</tr>
<tr>
<td>2</td>
<td>22</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
<td><a href="javascript:void(0)" onclick="shanchu(this)">删除</a></td>
</tr>
<tr>
<td>3</td>
<td>33</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
<td><a href="javascript:void(0)" onclick="shanchu(this)">删除</a></td>
</tr>
<tr>
<td>4</td>
<td>44</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
<td><a href="javascript:void(0)" onclick="shanchu(this)">删除</a></td>
</tr>
<tr>
<td>5</td>
<td>55</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
<td><a href="javascript:void(0)" onclick="shanchu(this)">删除</a></td>
</tr>
</tbody>
</table>
css部分
.on{
background-color: yellow;
}
.in{
background-color:pink;
}
js部分
//上移
function moveUp(_a){
var a_tr = _a.parentNode.parentNode;//选点击a的父级td的父级tr
var a_tr_table=a_tr.parentNode;//tr的父级tbody
var tr_tr = a_tr.previousSibling;//选择tr的同级前一个节点tr
console.log(tr_tr.nodeType);
//nodeType为1代表元素
while(tr_tr&&tr_tr.nodeType!=1){//while如果不满足条件会一直执行下面的方法
tr_tr = tr_tr.previousSibling;
}
if(tr_tr){
a_tr_table.insertBefore(a_tr,tr_tr);//insertBefore(a_tr,tr_tr)a_tr要插入的节点,在tr_tr之前
}
color(); }
//变色
function color(){
var element=document.getElementById("div");
var tr=element.getElementsByTagName('tr');
for(var i=0;i<tr.length;i++){
if(i%2==0){
tr[i].className="on";
}else{
tr[i].className="in";
}
}
}
color();
//下移
function moveDown(_a){
var a_tr = _a.parentNode.parentNode;//a的tr
var tr_tr = a_tr.nextSibling;//a的tr下的tr
var a_tr_table = a_tr.parentNode;
console.log(tr_tr.nodeType);
while(tr_tr && tr_tr.nodeType != 1){
tr_tr = tr_tr.nextSibling; }
if(tr_tr){
a_tr_table.insertBefore(tr_tr,a_tr);
}
color(); }
//删除
function shanchu(_a){
var a_tr = _a.parentNode.parentNode;//a的tr
a_tr.parentNode.removeChild(a_tr);
color(); }
//添加
var a=1;
var b=2;
function fn(){
a+=a;
b+=b;
var str="<tr><td>"+a+"</td><td>"+b+"</td><td><a href=\"javascript:void(0)\" onclick=\"moveUp(this)\">上移</a></td><td><a href=\"javascript:void(0)\" onclick=\"moveDown(this)\">下移</a></td><td><a href=\"javascript:void(0)\" onclick=\"shanchu(this)\">删除</a></td></tr>";
var element=document.getElementById("div");
element.innerHTML+=str;
color();
}
js表格上下移动添加删除的更多相关文章
- js动态给table添加/删除tr的方法
js动态给table添加/删除tr的方法. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ...
- WPF下的Richtextbox中实现表格合并,添加删除行列等功能
.Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...
- js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...
- js节点的创建添加删除
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- element-ui 表格可编辑添加删除
<template> <div id="Cold_all"> <div class="Cold_Left"> <el- ...
- js数组指定位置添加删除
示例参考:http://www.w3school.com.cn/jsref/jsref_splice.asp
- js 表格操作----添加删除
js 表格操作----添加删除 书名:<input type="text" id="name"> 价格:<input type="t ...
- 表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)
看着网上的视频教程,虽说还是有点简单,但还是不免想记录下.这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几 ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
随机推荐
- 如何设置td中溢出内容的隐藏显示
<style type="text/css"> table { table-layout:fixed; } td { overflow:hidden; word-bre ...
- 将数组按指定个数分割,并以"|"做分割
```js function sliceArray(arr,num){ let newArr=[] for (var i = 0; i < arr.length; i+=num) { if(ar ...
- ACM常用的Java代码
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) thr ...
- Installing Node.js and Express on Ubuntu
Installing Node.js and Express on Ubuntu 1. 在nodejs官网上下载Linux Binaries(已经包含了npm):2. 安装Node.js下载后解压,并 ...
- pip安装requests报错unicodeEncodeError:'ascii' codec can\t encode charactesers in position 9-12:ordinal not in range(128)
前提 : 已经安装pip(pip的安装我参考的是本博客转载脚本之家的步骤,实验可以成功) 1. 在cmd输入命令转到pip安装目录: 2. 运行后出现错误 3. 步骤2中的错误应该和编码有关.搜索百度 ...
- HDU 5266 pog loves szh III 线段树,lca
Pog and Szh are playing games. Firstly Pog draw a tree on the paper. Here we define 1 as the root of ...
- UVA11021 Tribbles
题目大意:n个麻球,第一天有k个,麻球生命期为一天,临近死亡前会有i的几率生出Pi个麻球.问m天后麻球全部死亡概率 设f[i]表示i天后一个麻球全部死亡的概率 有f[1] = P0 f[i] = P0 ...
- linux sed命令使用疑惑总结
s 替换命令 [zhuhc@test111 ~]$ sed 's/ma/mass' test.txt , : unterminated `s' command 原因:替换命令s末尾的斜杠丢失了.正确命 ...
- macOS下安装openCV+Xcode配置
macOS下安装openCV+Xcode配置打开终端 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...
- H5C3--background中cover,背景样式,提升响应区域+精灵图的使用
一.cover的使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...