web-dev-qa-db-fra.com

Les ancres dans la même page ne fonctionnent pas?

J'essaie de créer un lien vers des éléments dans le HTML de ma page, mais cela ne fonctionne pas et je ne suis pas sûr de savoir pourquoi.

Voici le lien initial:

<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>

J'aimerais que toutes les Li dans cette liste soient des liens vers une autre sur la page (sauf le dernier).

Et au sommet de ce code est où j'essaie de lier à:

<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:[email protected]" id="email">available</a>.</p>
            </li>
        </ul>
    </div>

Faire les zones que je liens pour avoir à utiliser la balise de section? J'ai plusieurs de ces divs avec UL en eux.

9
Tom Maxwell

C'est important. Les ancres ne fonctionneront pas sur toutes les pages, ont des tags <base> dans la tête (mais la page racine), si href de l'ancre est relative à la page (commence par #).

Par exemple, vous êtes sur la page:

https://example.com/the/page/

Tag de base sur la page comme ceci:

<base href="https://example.com">

Dans Code de cette page, il y a une ancre:

<a href="#anc">anchor</a>

Avec la balise de base, cela suivra-t-il - https://example.com/#anc , pas ce qui était attendu.

Pour résoudre ce problème, vous pouvez faire une partie de ceci:

  1. Utilisez l'ancre relative du domaine.
  2. Overload Anchor Cliquez avec JavaScript et Swap URL sur le domaine de domaine.
  3. Supprimer la balise de base - il est souvent inutilisé.
6

Salut, vous devez utiliser "un identifiant" à appeler par 'A Href'

Voici l'exemple:

<a href="#Works">My Works</a>

il appellera:

<a id="Works">Works</a>

démo

3
DV77

L'ancre doit avoir l'identifiant ou le nom du travail, mais vous l'utilisez deux fois.

Tags HTML - Liens

<a href="#Anchorname">linked text</a>

(Target point) 
<a name="Anchorname">a named anchor</a>
3
lloan

utilisez une balise d'ancrage à l'intérieur de la balise Li comme ceci.

<ul>
    <li><a href="#id">about</a></li>
    <li><a href="#work">work</a></li>
    <li><a href="#id">blog</a></li>
</ul>

quelque chose comme ça et votre identifiant de lien comme ci-dessous

<div id="work">
</div>
2
jignesh kheni

J'avais aussi ce problème (la même page de navigation à la page à l'aide de liens) et la solution était très facile (bien que frustrant de comprendre). J'espère que cela vous aidera - aussi j'ai vérifié IE, Firefox et Chrome et cela a fonctionné à travers le conseil (au 05-22-2019).

Votre lien devrait ressembler à ceci:

<a href="pagename.html##anchorname">Word as link you want people to click</a>

et votre ancre devrait ressembler à ceci:

<a name="#anchorname">Spot you want to appear at top of page once link is clicked</a>
1