补充一下:重新调整了CSS和JS的浏览器兼容,希望大家多多指教,ThankYou!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<title>Table test</title>
<style type="text/css">
table {
width: 300px;
border: 1px solid black;
}
.table2 {
width: 300px;
border: 0px;
}
td {
border: 1px solid black;
text-align: center;
font-size: 12pt;
padding: 3px;
}
.td2 {
border: 0px;
}
.alt {
background: #BEC5BE;
}
</style>
<script language="JavaScript" type="text/javascript">
window.onload = function() {
var _table = document.getElementById("table1");
cleanWhitespace(_table);
}
cleanWhitespace = function(element_obj) {
//遍历element的子结点
for (var i = 0; i < element_obj.childNodes.length; i++) {
var node = element_obj.childNodes[i];
//判断是否是空白文本结点,如果是,则删除该结点
if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
node.parentNode.removeChild(node);
}
}
//使表格行上移,接收参数为链接对象
moveUp = function() {
//获得表格对象
var _table = document.getElementById("table1");
var _row = "";
for (var i = 0; i < _table.rows.length; i++) {
if (_table.rows[i].className == "alt")
_row = _table.rows[i];
}
//如果不是第一行,则与上一行交换顺序
if (_row.previousSibling) {
var last_row = _row.previousSibling;
while (last_row.nodeType != 1) {
last_row = last_row.previousSibling;
}
swapNode(_row,last_row);
}
}
//使表格行下移,接收参数为链接对象
moveDown = function() {
//获得表格对象
var _table = document.getElementById("table1");
var _row = "";
for (var i = 0; i < _table.rows.length; i++) {
if (_table.rows[i].className == "alt")
_row = _table.rows[i];
}
//如果不是最后一行,则与下一行交换顺序
if (_row.nextSibling) {
var next_row = _row.nextSibling;
while (next_row.nodeType != 1) {
next_row = next_row.nextSibling;
}
swapNode(_row,next_row);
}
}
//定义通用的函数交换两个结点的位置
swapNode = function(node1,node2) {
//获取父结点
var _parent = node1.parentNode;
//获取两个结点的相对位置
var _t1 = node1.nextSibling;
var _t2 = node2.nextSibling;
//将node2插入到原来node1的位置
if (_t1) _parent.insertBefore(node2,_t1);
else _parent.appendChild(node2);
//将node1插入到原来node2的位置
if (_t2) _parent.insertBefore(node1,_t2);
else _parent.appendChild(node1);
}
work_over = function(obj) {
obj.style.backgroundColor='#BEC5BE';
}
work_out = function(obj) {
obj.style.backgroundColor='';
}
work_click = function(obj) {
//获得表格对象
var t_obj = document.getElementById("table1");
//遍历所有表格对象的行
for (var i = 0; i < t_obj.rows.length; i++) {
//将行的样式清空
t_obj.rows[i].className = "";
}
obj.className = "alt";
}
work_updateSort = function() {
//获得表格对象
var t_obj = document.getElementById("table1");
//获得表格对象数组
var row_length = t_obj.rows.length;
var s_num = new Array(row_length);
//遍历所有表格对象的行
for (var i = 0; i < row_length; i++) {
s_num[i] = t_obj.rows[i].id;
}
}
</script>
</head>
<body>
<table id="table1">
<tr id="1" onclick="work_click(this);" onmouseover="work_over(this);" onmouseout="work_out(this);">
<td width="25%">1</td>
<td width="25%">11</td>
<td width="25%">栏目</td>
<td width="25%">栏目</td>
</tr>
<tr id="2" onclick="work_click(this);" onmouseover="work_over(this);" onmouseout="work_out(this);">
<td>2</td>
<td>22</td>
<td>栏目</td>
<td>栏目</td>
</tr>
<tr id="3" onclick="work_click(this);" onmouseover="work_over(this);" onmouseout="work_out(this);">
<td>3</td>
<td>33</td>
<td>栏目</td>
<td>栏目</td>
</tr>
<tr id="4" onclick="work_click(this);" onmouseover="work_over(this);" onmouseout="work_out(this);">
<td>4</td>
<td>44</td>
<td>栏目</td>
<td>栏目</td>
</tr>
<tr id="5" onclick="work_click(this);" onmouseover="work_over(this);" onmouseout="work_out(this);">
<td>5</td>
<td>55</td>
<td>栏目</td>
<td>栏目</td>
</tr>
</table>
<form id="changeform" name="changeform" method="post">
<table id="table2" class = "table2">
<tr>
<td class = "td2">
<input name="button" type="button" class="" onclick="moveUp();" value="上移"/>
<input name="button" type="button" class="" onclick="moveDown();" value="下移"/>
<input name="Submit" type="button" class="" onClick="work_updateSort();" value="保存修改"/>
</td>
</tr>
</table>
</form>
</body>
</html>
分享到:
相关推荐
总结来说,通过本示例,我们可以学习到如何使用JavaScript来对HTML表格进行行的上下移动操作,包括了获取节点、遍历节点和节点交换等基础DOM操作,这些知识对于进行页面动态交互设计是至关重要的。
标题中的“JS控制HTML DOM表格行上下移动”指的是在网页中使用JavaScript操作DOM(Document Object Model)元素,特别是HTML表格的行(tr)进行上下移动的功能。这种功能常见于数据管理界面,允许用户通过交互调整...
在网页设计中,HTML表格(Table)是一种常用的数据展示方式,有时我们需要实现表格内容的上下移动功能,以满足用户交互需求或数据操作便利性。本篇文章将详细讲解三种实现HTML表格内容上下移动的方法。 方法一:...
本文将深入探讨如何使用JavaScript实现表格行的上下移动、置顶和置底功能,以及相关辅助操作。 首先,`js操作table行的上下移动,置顶置底`这个主题涉及到的主要技术是DOM操作,事件监听和数组处理。DOM(Document ...
这个压缩包"javaScript+html实现表格上下移动.zip"包含的资源很可能是用于演示如何通过JavaScript来实现在HTML表格中行的上下移动功能。这个功能对于动态交互的数据展示非常有用,比如用户可以调整数据的顺序或进行...
标题 "jquery实现的可增加,删除行,可多行上下移动表格" 描述了一种使用JavaScript库jQuery创建的交互式表格功能。这个功能允许用户在表格中动态添加、删除行,以及上下移动表格中的行,提供了更灵活的数据操作体验...
本文将深入探讨如何使用jQuery来实现表格行(tr)的添加、删除和上下移动,同时提供相关源码供参考。 一、jQuery基本操作 在开始之前,我们需要确保已引入jQuery库。通常在HTML文件头部通过`<script>`标签引入...
本话题主要探讨如何使用JavaScript(JS)来实现一个功能,即在HTML表格(table)中移动光标并同时选择文本内容。JavaScript是一种强大的客户端脚本语言,它能够直接在用户的浏览器中运行,为网页添加动态功能。 ...
在本教程中,我们将深入探讨如何利用jQuery技术实现表格(table)元素的上下移动,以此来改变表格行(tr)的顺序,以满足用户自定义排序的需求。 首先,我们需要理解HTML表格的基本结构。一个表格由`<table>`元素...
本文将详细讲解如何使用JavaScript实现输入框内上下左右键以及Enter键控制表格(table)中的光标移动,并在光标到达最后一个输入框时新增一行,确保这个功能在多个浏览器中都能正常工作。 首先,我们需要理解...
本文主要介绍了使用jQuery实现表格行上下移动和置顶效果的方法,通过在前端页面上通过点击不同的链接实现行数据的动态排序,包含了核心代码和对代码的详细解释。 知识点一:引入jQuery库 在开始编写JavaScript代码...
本示例主要关注如何利用jQuery实现在HTML表格(table)中移动行(tr)的同时保持行内的序号不变,这对于数据排序或用户交互有着重要的应用。我们将探讨以下关键知识点: 1. jQuery选择器与DOM操作: jQuery提供了...
本文将详细介绍如何使用JavaScript实现表格行的上下移动、置顶和置底功能,并支持Ctrl多选、选中行样式改变以及行号显示等实用特性。 首先,我们需要创建一个HTML表格元素,包含若干行(tr)和单元格(td)。例如:...
本文将深入探讨jQuery如何实现表格(table)行的上下移动、排序功能,以及用户名验证和JavaScript读取XML的技术细节。 一、jQuery实现表格行上下移动 在网页中,表格常常用于展示结构化数据。jQuery可以通过获取...
在网页开发中,jQuery是一个非常流行的...以上就是使用jQuery实现表格行上下移动互换的基本步骤。这个功能在很多数据管理场景中都非常实用,通过结合HTML、CSS和jQuery,可以构建出更加动态和用户友好的网页应用。
标题提到的“jquery做的table行上下移动,互换”是jQuery实现的一种常见功能,通常用于数据表的排序和编辑。这个功能允许用户通过点击按钮或者直接拖拽来改变表格行的顺序,提高交互性和用户体验。 首先,我们需要...
首先,我们需要一个基本的HTML表格结构,如下所示: ```html <tr><td>这是第一行</td></tr> <tr><td>这是第二行</td></tr> <tr><td>这是第三行</td></tr> <tr><td>这是第四行</td></tr> ``` 接下来,我们...
这款编辑器提供了诸如上下移动行、单元格内数据编辑等功能,大大提升了在网页中操作表格的效率。 在HTML中,`<table>`元素是创建表格的基础,它包含了若干`<tr>`(表格行)元素,每个`<tr>`又包含若干`<td>`(表格...