首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html-react解析器:将DOM节点替换为包含内部文本子节点的另一个DOM节点(A-链接)

html-react解析器:将DOM节点替换为包含内部文本子节点的另一个DOM节点(A-链接)
EN

Stack Overflow用户
提问于 2021-07-23 18:55:30
回答 1查看 1.4K关注 0票数 1

使用html-react-parser,我需要将字符串输出为JSX,但将所有<a href=...>替换为封装的新元素<LinkContainer to={href}><a>..</a></LinkContainer>,该元素将包含<a>。换句话说,我正在用LinkContainer标签包装我的A-链接。

问题是,我不知道如何表达我要替换的A-标记的内部文本,必须包括:

代码语言:javascript
复制
parse(successMessage, { 
        replace: domNode => {
            if (domNode.attribs && domNode.attribs.href) {
                return <LinkContainer to={domNode.attribs.href}><a href="#">How to get the Inner Text?</a></LinkContainer>;
            }  
        }}
    );

innerTexttext是不可用的。来找我的DOM节点是

  • A-标记本身
  • ,它的子节点是内部文本,是一个独立的节点
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-23 19:31:52

我找到了解决办法。您只需替换A标记,并从domNode.children[0].data获取链接的文本。

代码语言:javascript
复制
    parse(successMessage, { 
            replace: domNode => {
                if (domNode.attribs && domNode.attribs.href) {
                    return <LinkContainer to={domNode.attribs.href}><a href="#">{domNode.children[0].data}</a></LinkContainer>;
                }  
            }}
        )
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68503936

复制
相关文章

相似问题

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