gate_s

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

我们知道,利用锚点可以实现页面链接跳转,也可以实现同一页面内的跳转功能。

例如:
<a href="somepage.htm>某页面链接</a>  可以跳转链接到somepage.htm,
<a href="#top">回顶端</a>  可以跳转到同一页面中,我们定义的锚点<a name="top"></a>所在位置。

但有时我们发现,页内跳转不能用,这是怎么回事呢?今天我就碰到这样的问题。

最后经过我多次测试,终于找到了原因。请看如下代码:

 

<html>
<head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="500" border="1" align="center" cellpadding="0" cellspacing="3">
  <tr>
 <td width="690"><name="top1"></a></td>
  </tr>
</table>
<CENTER>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<href="#top1">到顶端</a>
</CENTER>
</body>
</html>

 

使用其中的“到顶端”链接,无法返回到页面顶端。
但是如果在<a name="top1"></a>前面加入一个&nbsp;(即一个空格),该链接就可以用了。请看如下:

 

<html>
<head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="500" border="1" align="center" cellpadding="0" cellspacing="3">
  <tr>
 <td width="690">&nbsp;<name="top1"></a></td>
  </tr>
</table>
<CENTER>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<P>&nbsp;1</P><P>&nbsp;</P><P>&nbsp;11</P><P>&nbsp;111</P><P>&nbsp;1111</P><P>&nbsp;11111</P>
<href="#top1">到顶端</a>
</CENTER>
</body>
</html>


总结:
   页内链接内,或其旁边,也必须有浏览器内的可见字符,浏览器才认为它有效(在IE6.0.3790.1830中测试结果如上)。
   作为一点小小的经验,与大家共享。

posted on 2013-11-05 15:26  gate_s  阅读(5487)  评论(0编辑  收藏  举报