如何使用Cheerio仅删除DOM中ABCList父元素并保留子元素
解决Cheerio仅移除父元素保留子元素的问题
你用$("ABCList").remove()会连子元素一起删掉,这是因为remove()方法会把匹配到的元素及其所有子节点、文本全部移除。要只删父元素replaceWith()方法就能实现:
// 选中ABCList元素,将其替换为自身的所有子元素 $("ABCList").replaceWith($("ABCList").children());
原理说明
replaceWith()会把匹配到的元素(这里就是
处理前后对比
原DOM结构:
<ABCList> <ABC> <RL>3166</RL> <Client>42@gmail.com</Client> <TravelerList> <Traveler> <FirstName>abc</FirstName> <LastName>zyz</LastName> <EmailAddress>xyz@gmail.com</EmailAddress> <PhoneNumber>5145845</PhoneNumber> </Traveler> </TravelerList> </ABC> </ABCList>
处理后得到的DOM结构:
<ABC> <RL>3166</RL> <Client>42@gmail.com</Client> <TravelerList> <Traveler> <FirstName>abc</FirstName> <LastName>zyz</LastName> <EmailAddress>xyz@gmail.com</EmailAddress> <PhoneNumber>5145845</PhoneNumber> </Traveler> </TravelerList> </ABC>
内容的提问来源于stack exchange,提问作者Analyst
相关产品推荐
相关产品推荐

