Quelqu'un peut-il me dire comment ajouter des hachages à tous les liens internes sur une page?jQuery ajouter # à tous les liens internes
Par exemple:
page.html > page.html#
Merci, d
Quelqu'un peut-il me dire comment ajouter des hachages à tous les liens internes sur une page?jQuery ajouter # à tous les liens internes
Par exemple:
page.html > page.html#
Merci, d
Si vous disons que vous voulez seulement ajouter #
aux liens qui sont aux pages dans le même domaine, yo u peut comparer la hostname
de window.location
à celle du lien:
$("a").attr("href", function(i, href) {
if(window.location.hostname === this.hostname) {
return href + "#";
}
});
Vous pouvez passer une fonction à .attr()
comme ceci:
$("a").attr("href", function(i, href) { return href + "#"; });
Bien ... Je suis Vous n'êtes pas sûr de votre raisonnement, voulez-vous faire défiler vers le haut de la page actuelle? Dans ce cas, vous pouvez utiliser .scrollTop()
avec un compositeur, comme celui-ci:
$("a").click(function() { $("html, body").scrollTop(0); });
Ou .animate()
il:
$("a").click(function() { $("html, body").animate({scrollTop: 0 }, 500); });
$("a").each(function() {
$this = $(this);
$this.attr("href", $this.attr("href") + "#");
});
Peut-être que vous pourriez essayer ceci:
$(document).ready(function() {
var attr = $('a').attr('href');
attr = attr + '#';
$('a').attr('href', attr);
});
Bon sang qui est lisse. –
Je peux me tromper, mais par "liens internes" je pense que OP signifiait des liens vers des pages dans le même domaine. – user113716
@patrick - Peut-être ... maintenant que vous dites que c'est très flou –