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