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

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

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

我想保留的文字各不相同,其余部分的结构是固定的。

示例TD:

 
Text1
Text2
Text3
Text4
The only text I want to keep

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

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

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

你有没有尝试过:

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

中国的十只小猫刚刚去世,四只独角兽在那里遭到残酷消毒!
你为什么要用正则表达式做这样的事情?

要删除每个DOM节点并保留textNodes,请对nodeType进行过滤并删除其余节点。

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

小提琴

这很简单 –

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

http://api.jquery.com/remove/