Javascript jQuery/Regex:从TD中删除带有嵌套Div的Div

Javascript jQuery/Regex:从TD中删除带有嵌套Div的Div,javascript,jquery,Javascript,Jquery,我有一个TD,它总是包含一个div和div之外的一些文本 div有四个嵌套div,它们始终遵循下面的结构。 我唯一感兴趣的是这个TD中出现在主div之外的文本,其他所有内容都应该删除 我想保留的文本各不相同,其余的结构是固定的 示例TD: <td id="myTD"> <div id="show_status_1622327228" class="nor_addr_status" onmouseout="show_status_div(2, this);" onmous

我有一个TD,它总是包含一个div和div之外的一些文本

div有四个嵌套div,它们始终遵循下面的结构。 我唯一感兴趣的是这个TD中出现在主div之外的文本,其他所有内容都应该删除

我想保留的文本各不相同,其余的结构是固定的

示例TD:

<td id="myTD">
    <div id="show_status_1622327228" class="nor_addr_status" onmouseout="show_status_div(2, this);" onmouseover="show_status_div(1, this);" style="display: none;">
        <div id="status_safe_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);">
            Text1
        </div>
        <div id="status_unknown_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);">
            Text2
        </div>
        <div id="status_pr_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);" style="background-color: rgb(255, 255, 255);">
            Text3
        </div>
        <div id="status_fraud_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);" style="background-color: rgb(255, 255, 255);">
            Text4
        </div>
    </div>
    The only text I want to keep
</td>
$('#myTD').text().replace(/<div[\s\S]+?<\/div>/g, "").replace(/<a[\s\S]+?<\/a>/g, ""));

文本1
文本2
文本3
文本4
我想保留的唯一文本
我尝试了以下方法,但没有成功-可能是因为嵌套的div:

<td id="myTD">
    <div id="show_status_1622327228" class="nor_addr_status" onmouseout="show_status_div(2, this);" onmouseover="show_status_div(1, this);" style="display: none;">
        <div id="status_safe_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);">
            Text1
        </div>
        <div id="status_unknown_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);">
            Text2
        </div>
        <div id="status_pr_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);" style="background-color: rgb(255, 255, 255);">
            Text3
        </div>
        <div id="status_fraud_1622327228" class="status_hov" onmouseout="javascript:chgcolor(2, this);" onmouseover="javascript:chgcolor(1, this);" style="background-color: rgb(255, 255, 255);">
            Text4
        </div>
    </div>
    The only text I want to keep
</td>
$('#myTD').text().replace(/<div[\s\S]+?<\/div>/g, "").replace(/<a[\s\S]+?<\/a>/g, ""));
$('#myTD').text().replace(/您是否尝试过:

$("#myTD>div").remove()
您是否尝试过:

$("#myTD>div").remove()

中国有十只小猫刚刚死亡,还有四只独角兽在那里被残忍地绝育了!
你为什么要用正则表达式做这样的事

要删除每个DOM节点并只保留textNodes,请在nodeType上筛选并删除其余节点

$('#myTD').contents().filter(function() {
    return this.nodeType != 3;
}).remove();

中国有十只小猫刚刚死亡,还有四只独角兽被残忍地绝育了!
你为什么要用正则表达式做这样的事

要删除每个DOM节点并只保留textNodes,请在nodeType上筛选并删除其余节点

$('#myTD').contents().filter(function() {
    return this.nodeType != 3;
}).remove();

这很简单-

$('#myTD').find('div').remove();

这很简单-

$('#myTD').find('div').remove();

非常感谢!非常感谢!