是否有可能将一个DOM元素转换为另一个元素?或者从中复制所有属性?

时间:2012-07-20 06:31:26

标签: javascript jquery html

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

我只是想要例如: 得到表> thead> tr>与所有类,属性,属性相关并将其放在表格中>像tr一样的身体TD。

或者可能是另一种方式?

3 个答案:

答案 0 :(得分:2)

你有几个选择。

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

  • 如果您只想要DOM节点的属性(类,id等),那么您可以使用所有DOM节点上的attributes数组。您必须遍历每个属性,然后单独在新元素上设置它。我还没有找到一个简单的方法来复制一切。在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);
    }
    

答案 1 :(得分:0)

您可以查看此代码。我只是替换了&lt; th和&lt; \ th

http://jsfiddle.net/5uHMn/1/

答案 2 :(得分:0)

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