我正在尝试链接到我页面的HTML中的元素,但它不起作用,我不确定为什么。
这是最初的链接:
<ul>
<a href="#"><li>About Me</li></a>
<a href="#"><li>Past</li></a>
<a href="#Work"><li>Work</li></a>
<a href="http://blog.tommaxwell.me"><li>Blog</li></a>
</ul>
我希望此列表中的所有li都链接到页面上的其他位置(最后一个除外)。
在此代码的顶部是我要链接到的地方:
<div id="Work">
<a name="Work"><h2 id="work-title">Work</h2></a>
<ul>
<li>
<h3>BrainDB</h3>
<p>BrainDB is a new startup I'm working on with my co-founder, <a href="http://www.twitter.com/masonlong" id="mason">@masonlong</a>. I write everything from Rails to AngularJS and CSS. BrainDB's goal is to augment the mind with useful and inviting services.</p>
</li>
<li>
<h3 id>SummarizeIt</h3>
<p><a href="http://54.225.211.118/" id="summarize">SummarizeIt</a> is a JavaScript project that I built during a weekend. It utilizes an API for summarizing content, like blog posts, into bit-sized chunks. </p>
</li>
<li>
<h3>Freelance</h3>
<p>I freelance from time to time. I work with personal clients, as well as through <a href="https://www.elance.com/s/tommaxwell/?utm_medium=social&utm_source=twitter&utm_campaign=free&SiteTarget=share_profile&utm_term=3712117" id="elance">Elance</a>. I'm <a href="mailto:tommaxwell95@gmail.com" id="email">available</a>.</p>
</li>
</ul>
</div>
我链接的区域是否必须使用section标签?我有多个这些div,其中包含ul。
答案 0 :(得分:5)
这很重要。如果锚点的href是页面相关的(以<base>
开头),则锚点将无法在所有页面上工作,标记#
在头部(但是根页面)。
例如,您在页面上:
页面上的基本标记如下:
<base href="https://example.com">
在此页面的代码中有一个锚点:
<a href="#anc">anchor</a>
使用base-tag,它将跟随https://example.com/#anc,而不是预期。
要解决此问题,您可以执行以下操作之一:
答案 1 :(得分:3)
锚点需要具有工作的ID或名称,但您正在使用它两次。
<a href="#Anchorname">linked text</a>
(Target point)
<a name="Anchorname">a named anchor</a>
答案 2 :(得分:3)
试试这个。
<a href="#About"></a>
现在,如果你想将它链接到某个地方。
<a name="About">(Make Sure There Is Not Text here)</a>About Section.
答案 3 :(得分:2)
答案 4 :(得分:2)
在li标签中使用锚标签。
<ul>
<li><a href="#id">about</a></li>
<li><a href="#work">work</a></li>
<li><a href="#id">blog</a></li>
</ul>
像这样的事情
和您的链接ID如下
<div id="work">
</div>
答案 5 :(得分:0)
我也遇到了这个问题(使用链接进行相同的页面导航),并且解决方案非常简单(尽管很难弄清楚)。我希望这会有所帮助-我也检查了IE,Firefox和Chrome,并且该工具全面运行(截至2019年5月22日)。
您的链接应如下所示:
<a href="pagename.html##anchorname">Word as link you want people to click</a>
您的锚点应如下所示:
<a name="#anchorname">Spot you want to appear at top of page once link is clicked</a>
答案 6 :(得分:0)
我今天遇到了这个问题。另外,我想平滑滚动到锚点,这节省了我的时间。可以在标签中指出“问题”,就像@Alexander Goncharov在回答中指出的那样。
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
});
});
我找到了此解决方案here
答案 7 :(得分:0)
就我而言,我找到了这个解决方法:
代替
<base target=_blank>
我放在那里:
<base href=. target=_blank>
经过这次修改后,文件的外链正确跳转到了锚点: