You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cheerio仅删除DOM中ABCList父元素并保留子元素

解决Cheerio仅移除父元素保留子元素的问题

你用$("ABCList").remove()会连子元素一起删掉,这是因为remove()方法会把匹配到的元素及其所有子节点、文本全部移除。要只删父元素,保留它内部的所有子元素,用Cheerio的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:40:09