锚标记href到另一个页面的DIV没有登陆到预期/目标DIV

时间:2016-11-26 10:39:58

标签: jquery html css

我正在制作一个epub杂志webapp。在那里我有navbar.xhtml,它列出了杂志里面的所有相关主题。所有

  • 标签都被赋予了另一个xhtml文件的href,该文件包含杂志中该章节的文本/内容。

    navbar.xhtml

    <li><a href="chapter001.xhtml#div1"> XYZ </a></li>
    

    chapter001.xhtml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta http-equiv="Content-Style-Type" content="text/css" />
      <meta name="generator" content="pandoc" />
      <title>ABCDEFGH</title>
      <link rel="stylesheet" type="text/css" href="stylesheet.css" />
    </head>
    <body>
    <div id="div1" class="section level1">   
     /*Some huge amount of content goes here */
     </div>
    </body>
    </html>
    

    但在我的情况下,我被重定向到正确的页面,但内容从另一个元素开始。

    应用了临时解决方案:我刚刚从锚标记的href属性中删除了#。但我不希望这样,因为在不久的将来我可能需要将它们链接到相同chapter001.xhtml的子章节。

  • 1 个答案:

    答案 0 :(得分:0)

    好的,我不完全确定HTML4和XHTML,但我知道的一件事是XHTML非常严格,就像你不能偏离它的语法一样。作为HTML5,它没有宽恕与宽恕。 第一行:

      

    <?xml version="1.0" encoding="UTF-8"?>

    ...我认为是XML,所以我摆脱了它。

    第二个与XHTML严格一致,但我必须将chapter001扩展名从.html更改为.xhtml才能使其正常工作。我不确定是因为服务器MIME还是其他什么。

    第三行看起来并不属于那里,但我让它正常工作以便你的电话:

      

    <html xmlns="http://www.w3.org/1999/xhtml">

    Plunker由2个网页组成:index.htmlchapter001.html它们与标题的例外相同,基本上用于区分它们。链接位于每个页面的底部。它们的制作方式与目标div1相同。

    PLUNKER