2

是否可以将一个 DOM 元素转换为另一个?通过 jQuery 甚至 JavaScript。

我只想举个例子:获取所有类、属性、属性的表 > thead > tr > th,并将其放在 table > body 中,就像 tr > td 一样。

或者也许是另一种方式?

4

2 回答 2

3

你有几个选择。

  • 您可以使用 jQuery's clone(),它将复制 DOM 节点上/中的所有内容。然后使用append()将克隆附加到您希望它移动到的任何元素上。然后只需删除原始节点。

  • 如果您只想要来自 DOM 节点的属性(类、id 等),那么您可以使用attributes所有 DOM 节点上存在的数组。您必须遍历每个属性,然后将其单独设置在新元素上。我还没有找到一种简单的方法来复制所有内容。在 vanilla Javascript 中,它看起来像这样:

    var originalELement = document.getElementById('original-element-id');
    var newElement = document.createElement('div');
    
    for (var i = 0; i < originalElement.attributes.length; i++) {
        var attr = originalElement.attributes.item(i);
        newElement.setAttribute(attr.nodeName, attr.nodeValue);
    }
    
于 2013-12-24T21:03:02.400 回答
0

当您执行 element1.append(element2) element2 将在 element1 内移动。附加或附加子级。奇怪但真实。附加实际上意味着“剪切”

于 2019-08-26T14:12:04.747 回答