为什么相同的实现 HTML anchors/IDs 在一种情况下有效而在另一种情况下无效?
Why are identically implemented HTML anchors/IDs working in one case but not the other?
我创建了一个网站,允许用户从目录的 Table 跳转到一章。它适用于一本书 "Huck Finn" 但不适用于另一本书 "Rouging It."
代码对我来说似乎完全一样。而且,事实上,它在 the jsfiddle
中的 "Roughing It" 中有效
这里是代表行和在"Huck Finn"中跳转到的章节的开头:
<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>
...这是 "Roughing It" 的第一章:
<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>
(的确,在 "Roughing It" 中我没有添加章节 "in place" 的概要 - 只是在目录中。不过那应该无关紧要...
那么为什么它在 Huck Finn 和 jsfiddle 中有效,但在 Visual Studio 中的 运行 中却无效? IOW,在 jsfiddle 中,两者都有效("Huck Finn" 和 "Roughing It");在 Visual Studio 中,只有 "Huck Finn" 有效。
更新
奇怪的是,我刚刚意识到 DO 上第 43 章的链接有效;只有 1-42 不工作...?!?
更新 2
啊哈! (Epiphany/Eureka): "Huck Finn"有42个章节,所以"chap1"到"chap42"被看作是它的ID;从第 43 章开始是 "free" 所以 "Roughing It" 得到了它们。我必须让它们独一无二,比如 "RIchap1".."RIchap79"
ID 必须是唯一的;因为我在 "Huck Finn" 中有 "chap1",所以我不能在 "Roughing It." 中也有 "chap1" 一旦我将它更改为 "RIchap1",它就像一个魅力手链。
为什么会这样,我不知道,因为每个 .html 文件中只有一个 "chap1" - "it" 不知道只在内部查找本身?
我创建了一个网站,允许用户从目录的 Table 跳转到一章。它适用于一本书 "Huck Finn" 但不适用于另一本书 "Rouging It."
代码对我来说似乎完全一样。而且,事实上,它在 the jsfiddle
中的 "Roughing It" 中有效这里是代表行和在"Huck Finn"中跳转到的章节的开头:
<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>
...这是 "Roughing It" 的第一章:
<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>
(的确,在 "Roughing It" 中我没有添加章节 "in place" 的概要 - 只是在目录中。不过那应该无关紧要...
那么为什么它在 Huck Finn 和 jsfiddle 中有效,但在 Visual Studio 中的 运行 中却无效? IOW,在 jsfiddle 中,两者都有效("Huck Finn" 和 "Roughing It");在 Visual Studio 中,只有 "Huck Finn" 有效。
更新
奇怪的是,我刚刚意识到 DO 上第 43 章的链接有效;只有 1-42 不工作...?!?
更新 2
啊哈! (Epiphany/Eureka): "Huck Finn"有42个章节,所以"chap1"到"chap42"被看作是它的ID;从第 43 章开始是 "free" 所以 "Roughing It" 得到了它们。我必须让它们独一无二,比如 "RIchap1".."RIchap79"
ID 必须是唯一的;因为我在 "Huck Finn" 中有 "chap1",所以我不能在 "Roughing It." 中也有 "chap1" 一旦我将它更改为 "RIchap1",它就像一个魅力手链。
为什么会这样,我不知道,因为每个 .html 文件中只有一个 "chap1" - "it" 不知道只在内部查找本身?