2012-01-27 101 views
0

我想这样做的原因是因为我在某些浏览器中更改td元素的类时遇到了问题。我想知道是否可以简单地替换整个元素,告诫,代码和建议。是否可以用另一个td元素替换一个HTML表td元素

+0

的可能重复(HTTP [如何使用JavaScript来代替DOM元素到位?]://计算器。 com/questions/843680/how-to-replace-dom-element-in-place-using-javascript) – 2012-01-27 02:27:11

+0

您可以使用DOM方法以及Table方法。你不应该使用innerHTML,有一些错误。但改变classList/className仍然应该更容易。 – Bergi 2012-01-27 02:46:26

回答

1

你可以像任何其他元素的另一个表格单元格替换表格单元格:

var td = <reference to td element>; 
var newTd = document.createElement('td'); 
td.parentNode.replaceChild(newTd, td); 

如果你只是想添加或分配一个新的类值,见qwertymk的答案。

0

您是否尝试过td.className += ' newClass'添加班级或td.className = 'newClass'来为其分配一个班级?

+0

我正在使用'td.className ='newClass''。将使用'td.className + ='newClass''产生一个具有多个类的td元素吗? – John 2012-01-27 02:05:20

+0

是的。它会这样做。 – JohnFx 2012-01-27 02:16:14

+0

如果您在* newClass *之前放置空格,那么是的。即'newClass'。 class属性是一个由空格分隔的值列表,所以您需要在每个值之间留出空间。 – RobG 2012-01-27 02:16:29

1

您可以使用jQuery来轻松去除一些TDS和与新的TDS替换它们,即:

$("td").remove(); 
$("tr").append("HTML CODE");