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();
小提琴