gpt4 book ai didi

javascript - jQuery/正则表达式 : remove Div with nested Divs from TD

转载 作者:行者123 更新时间:2023-11-30 08:03:11 25 4
gpt4 key购买 nike

我有一个 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>

我尝试了以下方法,但这不起作用 - 可能是因为嵌套的 div:

$('#myTD').text().replace(/<div[\s\S]+?<\/div>/g, "").replace(/<a[\s\S]+?<\/a>/g, ""));

我的问题是它保留了嵌套 div 中的文本(Text1、Text2、Text3、Text4)。

最佳答案

中国十只小猫死了,四只独 Angular 兽惨绝育!
你为什么要用正则表达式做这样的事情?

要删除每个 DOM 节点并只保留 textNode,请过滤 nodeType 并删除其余部分。

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

FIDDLE

关于javascript - jQuery/正则表达式 : remove Div with nested Divs from TD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com