MarkDown页面添加锚点,跳转到本页指定位置

MarkDown页面添加锚点,跳转到本页指定位置


目录

  1. MarkDown页面内跳转测试
  2. MarkDown页面内跳转语法

备注:好友收集了很多IT资源免费分享,有需要自取~


--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------
--------------------------------------------------------我是分割线---------------------------------------------------------


MarkDown页面内跳转测试

测试成功


MarkDown页面内跳转语法

  1. 实际语法比较简单,在需要跳转的位置添加锚点,语法如下:
<span id="jump">跳转到的地方</span>
  1. 在需要点击跳转的位置,使用上面的id,格式类似超链接的形式:
[点击跳转](#jump)

  1. 如目录语法为:
[MarkDown页面内跳转测试](#jump)
  1. 下面实际目录语法为:
<span id="jump">MarkDown页面内跳转测试</span>

这样就实现了上述功能。


如果还是不清楚的话直接复制下面代码到你的文章,就能看懂了。

# 标题

----
## 目录
1. [目录1](#jump1)
2. [目录2](#jump2)

---
### <span id="jump1">1. 目录1</span>
---
### <span id="jump2">2. 目录2</span>
  • 69
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
如果在使用 `markdown-navbar` 组件时,锚点链接没有生效,可能是因为你没有为 markdown 中的标题添加 `id` 属性。`markdown-navbar` 默认使用标题的 `id` 属性来生成锚点链接,如果标题没有 `id` 属性,那么锚点链接就无法跳转到正确的位置。 要解决这个问题,一种简单的方法是使用 `remark` 和 `remark-slug` 插件为 markdown 中的标题添加自定义的 `slug`,然后在 `markdown-navbar` 中使用 `slug` 来覆盖默认的 `id` 属性。 以下是一个示例代码: ```jsx import React from 'react'; import ReactMarkdown from 'react-markdown'; import Navbar from 'markdown-navbar'; import 'markdown-navbar/dist/navbar.css'; import remarkSlug from 'remark-slug'; import unified from 'unified'; const MyMarkdown = ({ source }) => { const processor = unified().use(remarkSlug); const markdownAST = processor.parse(source); const headings = []; processor.runSync(markdownAST).children.forEach((node) => { if (node.type === 'heading') { // 获取自定义的 slug const slug = node.data?.hProperties?.slug; // 将 slug 赋值给 id 属性 node.data = { hProperties: { id: slug, }, }; headings.push({ level: node.depth, title: node.children[0].value, slug, }); } }); return ( <> <Navbar headings={headings} /> <ReactMarkdown astPlugins={[remarkSlug]}>{source}</ReactMarkdown> </> ); }; export default MyMarkdown; ``` 在这个示例中,我们使用 `unified` 和 `remark-slug` 插件为 markdown 中的标题添加了自定义的 `slug`,然后在 `MyMarkdown` 组件中将 `slug` 赋值给了标题节点的 `id` 属性。这样就可以保证锚点链接能够正确跳转到相应的位置。 需要注意的是,`data-id` 属性并非标准的 HTML 属性,如果需要使用这个属性来进行一些操作,可能需要自己编写相应的 JavaScript 代码来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值