是否有可能替换一个表格单元格而不删除它与javascript或jQuery
Is it possible to replace a table cell without deleting it with javascript or jQuery?
是否可以替换一个表格单元格而不删除它与javascript或jQuery?例如,如果我有一个表的几行,每行有5个单元格,我可以改变第一行的第一个单元格通过分配,而不是删除单元格,然后插入一个新的?
编辑(简体):
<table>
<tr id="currentRowId1" name="currentRowId1">
<td style="text-align:center">
</td>
<td style="text-align:center">
</td>
<td style="text-align:center">
<input type="submit" onclick="changeOrder()" />
</td>
<td style="text-align:center">
</td>
<td>
</td>
</tr>
<tr id="currentRowId2" name="currentRowId2">
<td style="text-align:center">
</td>
<td style="text-align:center">
</td>
<td style="text-align:center">
<input type="submit" onclick="changeOrder()" />
</td>
<td style="text-align:center">
</td>
<td>
</td>
</tr>
</table>
js
function changeOrder(){
var row = document.getElementById("currentRowId1");
var otherRow = document.getElementById("currentRowId2");
row.cells[0] = otherRow.cells[0];
}
这里实际上不需要使用innerHTML
。您可以这样替换这两个元素:
var
a = document.getElementById('currentRowId1').cells[0],
e = document.getElementById('currentRowId2').cells[0],
e1 = e.nextSibling;
a.parentNode.replaceChild(e, a);
e1.parentNode.insertBefore(a, e1);
演示:http://jsfiddle.net/X4zzb/1/
有多种方法可以做到这一点。您可以像fabianhjr指出的那样设置单元格的内部html。你也可以在javascript/jquery中构建一个新元素,并使用jquery的replaceWith()方法。
你可以使用其他jquery方法,将替换单元格,clone()和before()或after()我知道这不是你所要求的只是指出其他选项。
示例# 1:
var me = $("#cellId");
var newHtml = $("<div>blah blah blah</div>");
me.replaceWith(newHtml);
例2:
var me = $("#cellId");
var clone = me.clone();
// do some cool things with the clone change html whatever
me.replaceWith(clone);
如果你只是想改变里面的内容,你可以使用…
document.getElementById('nameofyourcell').innerHTML = 'content';
不能像下面这行那样把单元格的equal赋值给别的东西:
row.cells[0] = otherRow.cells[0]; // doesn't work
然而,一旦你有一个单元格的引用,你可以改变里面的内容,例如,将内容从一个单元格复制到另一个单元格:
row.cells[0].innerHTML = otherRow.cells[0].innerHTML;
您还可以通过对单元格的引用来创建、修改或删除该单元格的子单元格。
如果你正在使用jQuery,有许多方法可以实现相同的事情,例如,下面的方法相当于上面的(但效率较低):
$(row.cells[0]).html( $(otherRow.cells[0].html() );
相关文章:
- 如何在不删除类似侦听器的情况下从父对象中删除jQuery事件侦听器
- 如何比较两个字符串并删除jquery中的元素
- 从此代码中删除 Jquery
- 删除jQuery添加的按钮
- 如何删除jQuery.haverage()方法中的延迟
- 如何删除jQuery组中其他成员的后代元素
- 删除jQuery中的事件不起作用
- 添加和删除jquery-li元素
- 如何删除jquery可拖动项的子项
- 如何编辑和删除jQuery数据表的每一行
- 使用滑动存储cookie以删除jquery mobile
- 如何从 HTML 元素中停止或删除 jQuery 函数
- 如何删除 jquery 可折叠数据角色=“可折叠”
- 删除 Jquery/Javascript 对象中的字符
- 删除 jQuery 上的内容
- 从数据表中删除 jquery MVC5
- 查找文本并将其删除 jquery
- 动态预置和删除 JQuery/JavaScript
- 更改父选择框时如何删除 Jquery 中的旧选项
- 删除 jQuery 中的数组元素