JQuery добавить # ко всем внутренним ссылкам - PullRequest
1 голос
/ 30 ноября 2010

Может кто-нибудь сказать мне, как добавить хэши ко всем внутренним ссылкам на странице?

Например:

page.html > page.html#

Спасибо, д

Ответы [ 4 ]

4 голосов
/ 30 ноября 2010

Если вы говорите, что хотите добавить # только к ссылкам на страницы в одном домене, вы можете сравнить hostname из window.location со значением ссылки:

$("a").attr("href", function(i, href) {
    if( window.location.hostname === this.hostname ) {
        return href + "#";
    }
});
3 голосов
/ 30 ноября 2010

Вы можете передать функцию на .attr() следующим образом:

$("a").attr("href", function(i, href) { return href + "#"; });

Хотя ... я не уверен в ваших соображениях по этому поводу, вы хотите перейти к началу текущей страницы? В этом случае вы можете использовать .scrollTop() с установщиком, например:

$("a").click(function() { $("html, body").scrollTop(0); });

или .animate() это:

$("a").click(function() { $("html, body").animate({scrollTop: 0 }, 500); });
0 голосов
/ 30 ноября 2010

Возможно, вы могли бы попробовать это:

$(document).ready(function() {
    var attr = $('a').attr('href');
    attr = attr + '#';
    $('a').attr('href', attr);
});
0 голосов
/ 30 ноября 2010
$("a").each(function() {
  $this = $(this);
  $this.attr("href", $this.attr("href") + "#");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...