为什么相同实现的HTML锚/ID在一种情况下工作,而在另一种情况下不工作?

为什么相同实现的HTML锚/ID在一种情况下工作,而在另一种情况下不工作?,html,fragment-identifier,page-jump,Html,Fragment Identifier,Page Jump,我已经创建了一个网站,允许用户从目录跳到一章。它在一本书《哈克·芬恩》(Huck Finn)中有效,但在另一本书《涂脂抹粉》(Roug It)中无效 代码在我看来完全一样。而且,事实上,它的工作原理是在 这是一个具有代表性的行,也是在《哈克·芬恩》中跳到的章节的开头: . . . . . . 第一章 (的确,在“粗略处理”一章中,我没有添加“到位”一章的概要——只是在TOC中。不过,这不重要 那么,为什么它在Huck Finn和JSFIDLE中工作,但在Visual Studio中运行时不

我已经创建了一个网站,允许用户从目录跳到一章。它在一本书《哈克·芬恩》(Huck Finn)中有效,但在另一本书《涂脂抹粉》(Roug It)中无效

代码在我看来完全一样。而且,事实上,它的工作原理是在

这是一个具有代表性的行,也是在《哈克·芬恩》中跳到的章节的开头:


. . .

. . . 第一章

(的确,在“粗略处理”一章中,我没有添加“到位”一章的概要——只是在TOC中。不过,这不重要

那么,为什么它在Huck Finn和JSFIDLE中工作,但在Visual Studio中运行时不工作呢?瞧,在JSFIDLE中,两者都工作(“Huck Finn”和“粗糙化”);在Visual Studio中,只有“Huck Finn”工作)

使现代化 奇怪的是,我刚刚意识到第43章的链接确实有效;只有1-42不起作用

更新2
啊哈!(顿悟/尤里卡):“哈克·芬恩”有42章,因此“第1章”到“第42章”被视为其ID;从第43章开始,他们是“自由”的,所以“粗暴对待”就得到了他们。我必须使它们唯一,例如“RIchap1”。“RIchap79”

ID必须是唯一的;因为我在《哈克·芬恩》中有“chap1”,所以我不能在《粗加工》中也有“chap1”。一旦我把它改为“RIchap1”,它就像一个魅力手镯


但是,我不知道为什么会这样,因为每个.html文件中只有一个“chap1”-“它”不知道只查看自身吗?

IIRC,片段锚由“name”属性标识,而不是id(
)。那么为什么它对哈克·芬恩有效呢?还有(见更新)@collapsar:两者都有。事实上,.@BoltClock-Thx提供了这些信息
    <tr>
        <td><a href="#chap1">CHAPTER I. Civilizing Huck. Miss Watson. Tom Sawyer Waits.</a>
        </td>
    </tr>
. . .
<p class="chapter"><a id="chap1"></a>CHAPTER I. Civilizing Huck. Miss Watson. Tom Sawyer Waits.</p>
        <tr>
            <td>
                <a href="#chap1">
                    CHAPTER I. My Brother appointed Secretary of Nevada--I Envy His Prospective Adventures--Am Appointed Private Secretary Under Him--My Contentment Complete--Packed in One Hour--Dreams and Visions--On the Missouri River --A Bully Boat
                </a>
            </td>
        </tr>

    . . .

<p class="chapter"><a id="chap1"></a>CHAPTER I.</p>