Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除父元素并保留内容_Javascript_Html - Fatal编程技术网

Javascript 删除父元素并保留内容

Javascript 删除父元素并保留内容,javascript,html,Javascript,Html,假设我已经用JavaScript获得了如下表: var isert = inn.getElementsByTagName("table"); <table width="100%"> <tbody> <tr> <td><div class="extra"></div> </td> </tr> &

假设我已经用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>
我有一个这样的结构:

 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>

谢谢

我建议:

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');

顺便说一下:

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

不提供对
table
元素的引用,而是提供
inn
变量中所有
table
元素的节点列表(不管是什么)。要对特定的
执行操作,您需要指定要对哪个特定的
执行操作,这就是我在上面使用
文档的原因。getElementsByTagName('table')[0]

使用此方法而不是简单地适当编辑源文件有什么原因吗?这是正在呈现的第三方控件还是其他无法访问的代码库?非常感谢!但如果我知道当前表元素包含多个div,并且需要应用removive()函数,则为
removive(这个“div”)右侧?如果
指的是应从中删除元素的元素,则为“是”。