You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

锚点标签无法跳转至Div目标节点的问题排查求助

解决锚点标签跳转失效的问题

嘿,我看了你的代码和遇到的问题,发现几个关键的点可能导致后两个箭头锚点无法跳转,咱们一步步来修复:

1. 重复的ID是核心问题

你给三个箭头的父<div>都设置了id="snap",但HTML规范里ID必须是页面唯一的——浏览器只会识别第一个带有该ID的元素,后面的同名ID元素会被忽略,这直接影响了锚点的正常触发。

你可以直接去掉重复的id="snap"(因为已经有class="bounce arrow"来控制样式了),或者给每个箭头父div设置唯一的ID,比如snap-arrow-1、snap-arrow-2、snap-arrow-3。

修改后的Arrow 2代码示例:

<div class="bounce arrow"> <!-- 移除重复的id="snap" -->
  <a href="#featproject">
    <i class="fa fa-chevron-circle-down fa-5x" aria-hidden="true"></i>
  </a>
</div>
<!-- Carousel of Projects -->
<div class="row featuredprojects" id="featproject">
  <div class="col-md-12">
    <h2><u>Featured Projects</u></h2>
  </div>
</div>

Arrow 3同理修改:

<div class="bounce arrow"> <!-- 移除重复的id="snap" -->
  <a href="#contact">
    <i class="fa fa-chevron-circle-down fa-5x" aria-hidden="true"></i>
  </a>
</div>
<div class="contact" id="contact">
  <button id="contact_button" class="unstyled-button contact-button" data-modal-type="modal-8" >Contact</button>
</div>

2. 额外的排查小技巧

  • 打开浏览器开发者工具(F12),在Elements面板的搜索框输入#featproject和#contact,确认目标元素能被精准找到——如果搜不到,可能是拼写错误或者元素被意外隐藏。
  • 清除浏览器缓存后再测试,有时候旧的缓存会干扰新代码的生效。
  • 检查有没有其他JS代码(比如你可能没贴出来的交互脚本)阻止了锚点的默认跳转行为,如果有,需要确保脚本里没有错误拦截<a>标签的默认事件。

修改完重复ID的问题后,应该就能让后两个箭头正常跳转到对应区块了,你可以试试!

内容的提问来源于stack exchange,提问作者adamdevelops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:08:47