首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从react-native-render-html中删除标签?

如何从react-native-render-html中删除标签?
EN

Stack Overflow用户
提问于 2020-08-21 21:45:05
回答 1查看 556关注 0票数 2

如何删除只有<br>标签的h2标签?

<h2><br></h2>

EN

回答 1

Stack Overflow用户

发布于 2020-08-23 00:11:28

您可以使用alterChildren prop删除一些DOM节点:

代码语言:javascript
复制
const html = `
<body>
<h2>Hello world</h2>
<p>Lorem ipsum</p>
<h2><br></h2>
</body>
`;

function hasOnlyBrChildren(node) {
  return node.children.every(
    (child) => child.type === 'tag' && child.name === 'br'
  );
}

function alterChildren(node) {
  return node.children.filter(
    (child) =>
      child.type !== 'tag' ||
      !(child.name === 'h2' && hasOnlyBrChildren(child))
  );
}

export default function App() {
  return (
    <ScrollView>
      <HTML alterChildren={alterChildren} html={html} />
    </ScrollView>
  );
}

我在这里做了一些小事(我只是用div替换了br,以直观地评估该函数的有效性):https://snack.expo.io/@jsamr/rnrhtml-alter-children

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63524069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档