# 相同的标题会导致相同的ID和锚点

**URL:** <https://meta.discourse.org/t/having-identical-titles-leads-to-identical-ids-and-anchors/270649>\
**Category:** Feature\
**Tags:** pr-welcome, disco-toc\
**Created:** [2023 年6 月 21 日 08:00 UTC](https://meta.discourse.org/t/having-identical-titles-leads-to-identical-ids-and-anchors/270649 "2023-06-21T08:00:08Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

作者： ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)\
发布日期： [2023 年7 月 5 日 18:33 UTC](https://meta.discourse.org/t/having-identical-titles-leads-to-identical-ids-and-anchors/270649/3 "2023-07-05T18:33:11Z")

</div>

> [@Canapin](#):
>
> 这不是一个 bug，而是 HTML 本身固有的，所以这是一个技术限制。

嗯，不是的，锚点正在获得唯一的 `name` 属性

```plaintext
# Heading level A
foo

## Heading level B
bar

## Heading level B
bar

# Heading level A
foo

## Heading level B
bar

## Heading level B
bar

```

生成：(请注意 -1 -2 -3 等)

```html

<h1 dir="ltr">
  <a name="heading-level-a-1" class="anchor" href="#heading-level-a-1"></a>Heading level A
</h1>
<p dir="ltr">foo</p>
<h2 dir="ltr">
  <a name="heading-level-b-2" class="anchor" href="#heading-level-b-2"></a>Heading level B
</h2>
<p dir="ltr">bar</p>
<h2 dir="ltr">
  <a name="heading-level-b-3" class="anchor" href="#heading-level-b-3"></a>Heading level B
</h2>
<p dir="ltr">bar</p>
<h1 dir="ltr">
  <a name="heading-level-a-4" class="anchor" href="#heading-level-a-4"></a>Heading level A
</h1>
<p dir="ltr">foo</p>
<h2 dir="ltr">
  <a name="heading-level-b-5" class="anchor" href="#heading-level-b-5"></a>Heading level B
</h2>
<p dir="ltr">bar</p>
<h2 dir="ltr">
  <a name="heading-level-b-6" class="anchor" href="#heading-level-b-6"></a>Heading level B
</h2>
<p dir="ltr">bar</p>

```

---

_[View the full topic](https://meta.discourse.org/t/having-identical-titles-leads-to-identical-ids-and-anchors/270649)._
