Adicionar URL da página atual antes do link de âncora usando jQuery

Estou preso utilizando uma plataforma (Nationbuilder) que adiciona automaticamente a tag base no header. Não foi até recentemente e agora as dezenas de páginas com links de âncora acabam enviando o usuário para a página inicial.

Eu preciso usar o jQuery para adicionar o URL da página atual antes do #anchor. O mais próximo que eu posso encontrar é o seguinte código, mas eu não tenho idéia de como modificá-lo tão somente links com um atributo href começando com um # são modificados:

$("a").attr("href", "http://www.example.com/pageslug") 

Então eu gostaria de:

  

Para ser alterado para:

  

Você pode usar o atributo CSS começa com seletor:

Em vez de selecionar "a" , selecione 'a[href^="#"]' significa “tags com um atributo href iniciando com # .

Então, algo como:

 $('a[href^="#"]').each(function(i,el){ el.href = "http://www.example.com/pageslug" + el.hash; }); 

(violino)

Uma adição ao que Benjamin disse, você precisará capturar o href atual para cada uma das âncoras, o que significa que você precisa de um loop. assim

 $('a[href^="#"]').each(function(index, element){ var $ele = $(element), oldHref = $ele.attr('href'); $ele.attr('href', '//example.com/page'+ oldHref); }); 

Algo assim?

 $('a').attr('href', window.location.pathname + this.attr('href'))