【发布时间】:2022-01-06 21:26:18
【问题描述】:
好的,我们来看这部分代码-
$(tbody).find('tr').each((i, oldTbodyTr) => {
newTr = document.createElement('tr');
$(oldTbodyTr).find('td').each((i, oldTd) => {
let newTd = document.createElement('td');
newTd.innerHTML = oldTd.innerHTML;
newTd.classList = oldTd.classList;
newTd.style = oldTd.style; //Doesn't work
newTr.appendChild(newTd);
});
newTableTbody.appendChild(newTr);
});
它通过循环遍历已经存在的表的tbody 中的所有行来创建一个新的表体。
一切都很好,除了旧的td 的样式没有转移到新的td 元素上。
我不知道为什么。
【问题讨论】:
-
为什么不简单地在 CSS 中定义样式并分配一个类?您定义了多少样式属性?你需要一个一个地转移它们。
-
这与我的风格无关。实际上,我正在编写一个函数来获取一个简单的表格并提供一个功能齐全且漂亮的表格。像数据表这样的东西。它必须是通用的。
-
是否有要复制的内联样式?
-
是的,我需要将旧 td 中的所有样式复制到新 td。整个对象。正如塞巴斯蒂安所说,样式是只读属性。所以我想知道如何转移所有这些。
-
@OP,您是否考虑过简单地使用
newTableTbody.append(tbody.cloneNode(true))来处理您的情况?
标签: javascript html jquery css