`
xhfei
  • 浏览: 116302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javascript动态操作表格:新增、设置样式、删除、移动行

阅读更多
一、动态设置元素readonly属性时,js里面的readOnly一定要大写O

document.getElementById("id").readOnly=true;

二、动态给表插入行:

function addRow(){
  //动态插入一行,mediaMes是表对象
  var oRow1=mediaMes.insertRow(mediaMes.rows.length);

  //设置tr的id
  oRow1.id="tr"+thisId;

  //获得表总的行数
  var aRows=mediaMes.rows;

  //获得新添加行的列集合
  var aCells=oRow1.cells;

  //再新添加的行里面插入一个列
  var oCell1_1=aRows[oRow1.rowIndex].insertCell(aCells.length);

  //=================设置列的样式======================
  oCell1_1.align="center";
  var oStyle1 = oCell1_1.getAttribute("style");

  //Ie浏览器动态设置样式不能直接给行或列指定class属性

  //要先把样式放到一个对象的attribute里面,然后在把这个对象设置到行或列里面去
  // ie
     if(oStyle1 == "[object]") {
      oStyle1.setAttribute("cssText","border-right: 1px solid #003399;border-bottom: 1px solid #003399;");
        oCell1_1.setAttribute("style",oStyle1 );
     } else {
   oCell1_1.setAttribute("class","td_border" );
     }
  var cell1="<input type='text' name="user"  id='user'/>";
  oCell1_1.innerHTML=cell1;
}


三、
       function delRow(rowId){
var poss=document.getElementById(rowId);
mediaMes.deleteRow(poss.rowIndex);
}

四、动态移动table里面的行(tr)

  // 先获得当前行的父节点,就是table

   var parent=aRows[sort].parentNode;

  //table移除一个行,返回的对象就是被移除的行
   var orgNode=parent.removeChild(aRows[sort+1]);
   var destNode=aRows[sort];

  //在一个行前面把这个行插入
   parent.insertBefore(orgNode,destNode);


分享到:
评论
5 楼 ninecat 2009-06-17  
使用createElement来替换insertRow和insertCell可以再一定程度上解决性能问题
例:
使用
var row = document.createElement("TR");
tbody.appendChild( row );
而不是
var row = tbody.insertRow();

4 楼 leisure 2009-06-15  
keshin 写道
insertRow和insertCell这两个方法都是直接在dom中插入node,每次操作都会导致浏览器进行一次渲染页面的操作,数据量大的情况下性能表现不好。
而且insertRow(mediaMes.rows.length)这样的代码大可以用insertRow(-1)代替


那有什么好的建议没?
因为目前我碰到了这个问题
3 楼 fcu 2009-05-19  
其实我没有看懂
2 楼 xhfei 2009-04-27  
keshin 写道

insertRow和insertCell这两个方法都是直接在dom中插入node,每次操作都会导致浏览器进行一次渲染页面的操作,数据量大的情况下性能表现不好。
而且insertRow(mediaMes.rows.length)这样的代码大可以用insertRow(-1)代替

谢谢提醒
1 楼 keshin 2009-04-23  
insertRow和insertCell这两个方法都是直接在dom中插入node,每次操作都会导致浏览器进行一次渲染页面的操作,数据量大的情况下性能表现不好。
而且insertRow(mediaMes.rows.length)这样的代码大可以用insertRow(-1)代替

相关推荐

    js操作table元素,表格的行列新增、删除汇集.txt

    综上所述,这些JS函数提供了强大的工具集,可用于动态管理和操作HTML表格,包括行和列的增删、单元格的合并与移动、样式的一致性保持,以及表格布局的智能调整。通过合理运用这些功能,开发者能够创建高度灵活和响应...

    .net表格动态添加行

    4. **样式和事件处理**:动态添加的行同样可以设置样式和绑定事件处理程序,以便用户交互。 5. **响应式设计**:对于移动设备的兼容性,确保表格在不同屏幕尺寸下表现良好,可以使用CSS框架(如Bootstrap)或自定义...

    动态新增行并取出所有数据

    6. **响应式设计**:对于移动设备,要考虑屏幕大小和触摸操作,确保动态新增行功能在不同设备上都能良好工作。 在TestAddRows这个文件中,可能包含了实现动态新增行功能的示例代码、样式文件(CSS)以及可能的测试...

    bootstrap table表格行记录移动

    在这个特定的主题中,我们关注的是如何实现在Bootstrap Table中进行行记录的移动,这通常涉及到数据的增删改查操作。下面将详细介绍这个过程。 首先,我们需要在HTML中创建两个Bootstrap Table,分别代表数据的源表...

    js操作table元素实现表格行列新增、删除技巧总结

    总结起来,这些JavaScript方法提供了一套完整的工具集,用于动态地管理HTML表格的行列,包括新增、删除、合并、移动、赋值样式以及进行必要的验证和参数获取。这在网页开发中是一个强大的功能集合,尤其适用于创建...

    可拖动、排序的表格非常灵活,样式也很好看

    当用户按下鼠标并在表格行上移动时,脚本会捕捉这些事件并更新行的位置。为了实现这一点,开发者可能使用了HTML5的`draggable`属性,或者依赖于像jQuery UI这样的库来处理复杂的拖放逻辑。同时,为了保持数据的同步...

    使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能

    在Vue实例中,定义`facilities`数组存储表格数据,`checkedRows`数组存储被选中的行的索引,以及`addRow`、`saveRows`和`delRows`等方法,实现表格的动态操作。 ```javascript new Vue({ el: '#app', data: { ...

    修改grid行或列颜色

    1. **行颜色修改**:通过 `getRowClass` 方法可以根据行数据的属性来动态设置行的CSS类名,进而改变行的颜色。 2. **列颜色修改**:通过 `ColumnModel` 的 `renderer` 属性指定自定义渲染器,可以在单元格级别上设置...

    一款web表格插件

    3. 数据操作:提供编辑、新增、删除等操作,通常有行内编辑和弹窗编辑两种模式。 4. 排序和过滤:用户可以对表格数据进行升序、降序排序,同时支持多种过滤条件,方便快速查找所需信息。 5. 分页:对于大数据量,...

    JavaScript基础教程第8版

    书中从JavaScript语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并在上一版的基础上新增了两章,讲述jQuery框架的基础知识。本书不仅介绍了基础知识和使用方法,也深入探讨...

    超级简单的jquery操作表格方法

    为了实现动态地向表格添加和删除行,可以结合 JavaScript 函数与按钮事件进行操作。如下示例,通过两个按钮,分别绑定添加和删除行的操作。 ```html ();"&gt; ('test');"&gt; ``` - 添加行函数 `addRow` 会自增行计数器...

    html+js+css 工人信息管理功能(增删改查)前端实现,不连数据库

    在这个项目中,CSS可能被用来定制表格样式,按钮样式,以及整体页面的布局。此外,可能还涉及到响应式设计,使页面在不同设备上都能良好显示。 3. JavaScript(JS)核心功能:JS是实现动态交互的关键,用于处理用户...

    easyUI datagrid 做的工程

    2. **增删查改**:在前端,datagrid 支持直接在表格内进行数据的新增、删除、修改和查看操作。新增通常通过弹出对话框添加新记录,删除是选中行后确认删除,修改则是在选定单元格内直接编辑,查看通常是点击一行后...

    移动资产管理系统

    系统会在执行删除操作前进行确认,防止误操作导致的数据丢失。 5. 资产查询:系统提供多样化的查询功能,如按资产编号、名称、类型等条件进行搜索,帮助用户快速找到所需信息。 6. 数据展示:所有资产信息会以清晰...

    html、javascript与java三合一最新培训教程

    JavaScript是一种轻量级的解释型编程语言,主要用作网页的客户端脚本语言,用于实现动态交互效果。通过JavaScript,你可以操控DOM(文档对象模型),改变HTML元素的样式、内容或位置,还可以进行表单验证、创建动画...

    前端移动框架

    "新增/编辑"功能则是指框架提供的数据操作能力,允许用户在界面上添加新记录或编辑现有数据,通常会伴随着表单验证和数据提交的处理逻辑。 "全选反向"功能在数据管理中非常实用,它允许用户一键选择或取消选择所有...

    WEB前端开发初级教案.pdf

    3. 新增变形动画属性:阐述了CSS3变形属性,包括旋转、缩放、倾斜、移动等。 4. CSS3的3D变形属性:讲解了如何通过CSS3实现3D效果,比如3D转换。 5. CSS3的过渡属性:讲解了属性变化时的过渡效果,比如平滑过渡效果...

    2021年1+X-Web前端开发初级理论考试模拟题.pdf

    17. CSS样式功能:CSS无法确保在所有浏览器中兼容,但可以实现格式和结构的分离,控制图片精确位置以及设置元素样式。 18. 定义过渡动画:CSS的`animations`属性用于定义不同的过渡动画效果。 19. 画布填充文字:...

Global site tag (gtag.js) - Google Analytics