2012-04-06 68 views
0

我有这样的联系:跳转到一个特定的地方在网页中

<a class="faq_text_header_jump" href="#general_questions">General Questions</a><br> 
    <a class="faq_text_header_jump" href="#how">How do i..</a><br> 
    <a class="faq_text_header_jump" href="#once_you_book">Once you've booked lessons..</a> 

和目标,像这样:

<div class="faq_text_section_header" id="how"><h2>How do I...?</h2></div> 

但我的第二和第三个链接不工作。

在这里看到一个例子:http://lessonshark.com/dev1/homes/faq

回答

5

HTML有一个解决方案。

使用

<a name="target"> 

来标记要跳转到

<a href="page.html#target"> 
+0

我已经这样做......并且它不是很有效,只有第一个 – cdub 2012-04-06 07:17:54

+0

现在可以工作吗? – Roger 2012-04-06 08:22:04

0

您在文档中的某个地方需要命名锚页面的位置。

要创建一个命名锚,只需使用HTML这样的:

<a name="anynameyoulike"></a> 

然后,您可以跳转到该点在页面像这样一个链接:

<a href="#anynameyoulike">Jump to Named Anchor</a> 
1

使用id属性来指定链接的目的地。这是推荐的做法,虽然较旧的<a name=...>...</a>也可以工作,但它更受限制。在任何情况下,你所做的一定不是是用相同的名字指定两次目的地。目前的标记具有

<a name="how_do_i"> 
    <div class="faq_text_section_header" id="how_do_i" >How do I...?</div></a> 

这是按HTML 4.01和XHTML 1.0无效(尽管在HTML5草稿允许的),由于a元件不能包含div元件。更严重的是,这使得how_do_i双重定义,可以导致任何事情。修复此只是

<div class="faq_text_section_header" id="how_do_i" >How do I...?</div> 

,并确保您的链接使用href="#how_do_i"(像现在一样,但问题否则说的)。考虑让divh2(并相应地调整样式表),因为它实际上是一个标题。

还要注意的是,在链接,

<a class="faq_text_header_jump"href="#how_do_i">How do i..</a> 

应该href之前有一个空格。这只是形式化的语法,但最好是正确的,以便您可以高效地使用验证程序。