本文转自:http://hi.baidu.com/jz1108/blog/item/81ebe6b4561c247b8ad4b2ef.html
一日,同事说他习惯用inserRow和insertCell方法操作table元素,并说这个效率要比createElement和appendChild来的高。我不信,于是做了如下试验:使用不同方式创建一个1000行X10列的表格,对比代码所耗时间。
方法一:使用insertRow和insertCell
var table = document.createElement("table");
document.body.appendChild(table);
for (var i = 0; i < 1000; i ++){
var row = table.insertRow(table.rows.length);
for (var j = 0; j < 10; j ++){
var cell = row.insertCell(row.cells.length);
cell.innerHTML = "(" + i + ", " + j + ")";
}
}
以上代码执行时间为:172.688秒,整个过程中CPU占用率飙升到100%,IE也进入装死的状态。
方法二:使用createElement和appendChild
var table = document.createElement("table");
document.body.appendChild(table);
var tbody = document.createElement("tbody");
table.appendChild(tbody);
for (var i = 0; i < 1000; i ++){
var row = document.createElement("tr");
tbody.appendChild(row);
for (var j = 0; j < 10; j ++){
var cell = document.createElement("td");
cell.innerHTML = "(" + i + ", " + j + ")";
row.appendChild(cell);
}
}
以上代码执行时间为:3.026秒,速度提高这么多。
当然这还不是最快的,请看方法三:
var htmls = [];
htmls.push("<table>");
for (var i = 0; i < 1000; i ++){
htmls.push("<tr>")
for (var j = 0; j < 10; j ++){
htmls.push("<td>(" + i + ", " + j + ")</td>");
}
htmls.push("</tr>");
}
htmls.push("</table>");
document.getElementById("div1").innerHTML = htmls.join("");
这段代码执行时间是0.281秒。
可见使用innerHTML方式是最快的,createElement和appendhChild其次,最慢的是insertRow和insertCell。
分享到:
相关推荐
本篇文章将探讨几种在JavaScript和jQuery中实现表格行合并的方法。 首先,我们理解表格的基本结构。HTML表格由`<table>`、`<tr>`(行)、`<td>`(单元格)和`<th>`(表头单元格)等元素构成。行合并通常涉及到`<td>...
JavaScript是一种轻量级的脚本语言,广泛应用于网页和应用程序,其中表格排序是常见的一种功能需求,用于帮助用户以特定顺序查看和分析数据。 在JavaScript中实现表格排序,通常涉及到以下几个核心知识点: 1. DOM...
5. **优化性能**:在大规模表格中,遍历和操作DOM会消耗性能。因此,可以考虑使用节流或分块处理数据,以减少不必要的计算和DOM操作。 在给定的文件中,`test.html`可能是用来展示合并表格效果的示例页面,而`...
JavaScript作为一种强大的客户端脚本语言,常常被用来实现这种动态、交互的商品对比效果。下面我们将深入探讨如何利用JavaScript实现这样的功能。 首先,我们需要理解商品对比的基本流程。用户通常会选择几件感兴趣...
总之,JavaScript的sorttable库提供了一种高效、灵活且易于定制的方式来实现表格排序,无论是在桌面端还是移动端,都能为用户带来流畅的交互体验。通过掌握和运用这一工具,开发者可以提升网页应用的数据管理能力,...
在网页设计中,表格是一种常见的数据展示方式,但当表格内容过多时,用户滚动查看所有信息可能会变得不便。为了提供更好的用户体验,可以采用JavaScript(js)来实现表格的无缝滚动效果,让表格像一个无边界的容器...
总结来说,实现JavaScript表格排序主要涉及以下几个步骤: 1. 给表格添加ID和事件处理器。 2. 编写`sortTable`函数,处理数据类型转换和排序逻辑。 3. 使用文档碎片优化DOM操作。 4. 针对非文本类型的数据,如图片,...
JavaScript产品参数对比功能是网页应用中常见的一种设计,它允许用户在不同的产品之间进行详细的特性比较,以便于做出购买决策。这种功能广泛应用于电子商务、软件选型和其他需要展示多维度信息的场景。在本文中,...
- **属性与方法**:对于表格单元格,我们可以通过`rowSpan`属性来控制单元格跨越多行显示,通过`deleteCell()`方法来删除某个单元格。 #### 三、代码解析 接下来,我们将逐步分析提供的代码片段,以更好地理解其...
`jsp页面表格排序 js文件`的核心在于JavaScript的实现,这可能包括以下几个关键技术点: 1. **DOM操作**:JavaScript通过Document Object Model (DOM)与HTML页面交互,修改表格结构。当用户点击表格的列头时,我们...
通过上述知识点,我们了解到实现JavaScript拖动表格行需要对DOM操作有一定的了解,包括事件处理、节点操作和兼容性处理等。通过合理利用原生JavaScript API,可以实现一个高效且用户友好的拖动交互体验。在实际开发...
在这个"JavaScript经典例子"中,我们将探讨几个关键的知识点,包括如何不使用脚本实现图层的隐藏和显现,表格操作控制,以及表格全功能的演示,特别是捕捉按键的实现。 首先,让我们来讨论如何不使用脚本实现隐藏和...
总的来说,JavaScript表格排序是一个涉及DOM操作、数组排序、事件处理和性能优化等多个方面的综合实践,对于提升网页交互性有着重要作用。通过学习和掌握这些知识点,你可以创建出更加动态和用户友好的数据展示页面...
JavaScript允许我们动态地操作DOM(文档对象模型),实现实时更新表格内容,例如添加或移除过滤条件。 具体到“工具”标签,这可能意味着我们正在使用的是一种库或者框架,如jQuery、React、Vue等,这些工具可以...
JavaScript中的`Date`对象提供了一系列的方法来创建、比较和操作日期,如`new Date()`, `getFullYear()`, `getMonth()`, `getDate()`等。`calender.js`可能会利用这些方法生成当前月份的日历视图,或者根据用户输入...
"可以拖动行头和列头的表格"是一个重要的功能,它为用户提供了一种自定义视图和优化数据浏览体验的方式。这个特性通常应用于数据分析、报告展示以及各种管理界面,让用户能够根据自己的需求调整列宽,从而更方便地...
1. **DOM操作**:JavaScript需要能够获取到表格元素,如`<table>`, `<thead>`, `<tr>`, 和 `<th>`,这通常通过DOM(Document Object Model)接口完成。例如,`document.getElementById`, `document....
1. **DOM 操作**:在JavaScript中,你需要通过DOM(Document Object Model)来操作页面上的元素,如创建一个新的日历表格,或者在特定日期上添加事件标记。这通常涉及到`document.createElement()`,`appendChild()`...
3. **执行排序**:使用JavaScript的数组方法(如`sort()`)对数据源进行排序,根据列的值进行比较。 4. **更新表格**:将排序后的数据重新渲染到表格中,通常需要遍历数组并创建新的`<tr>`元素。 FastUnit库虽然...
在JavaScript中,创建一个带有特定数据布局的表格时,可能会遇到一种情况,即在开始循环填充数据之前,每个数据项已经指定了它应该出现在表格的哪个位置(即第几行第几列)。这种情况通常涉及到更复杂的表格布局,...