删除父元素并保留内容

时间:2013-06-14 13:36:04

标签: javascript html

假设我已经使用这样的JavaScript获取表:

 var isert = inn.getElementsByTagName("table");

我有这样的结构:

<table width="100%">
    <tbody>
        <tr>
            <td><div class="extra"></div>
            </td>
        </tr>
        <tr>
            <td><div class="extra"></div>
            </td>
        </tr>
        <tr>
            <td><div class="extra"></div>
            </td>
        </tr>
    </tbody>
</table>

在这里,我如何删除外部表结构,并仅保留内容,以便提取代码的结果应为:

<div class="extra"></div>
<div class="extra"></div>
<div class="extra"></div>

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议:

function removeTo(from, what) {
    if (!from || !what) {
        return false;
    }
    else {
        els = from.getElementsByTagName(what);
        while (els[0]) {
            from.parentNode.insertBefore(els[0],from);
        }
        from.parentNode.removeChild(from);
    }
}

removeTo(document.getElementsByTagName('table')[0], 'div');

JS Fiddle demo

顺便提及:

var isert = inn.getElementsByTagName("table");

没有为您提供table元素的引用,它为table变量中的所有 inn元素提供了一个nodeList (无论那是什么)。要在特定table行动,您需要指定要对其执行的特定 table,这就是为什么,在上面,我&#39 ;使用了document.getElementsByTagName('table')[0]