javascript - removeattribute - jQuery eliminando el valor hash de la URL
removeattribute jquery (3)
original
Depende de lo que haga el valor hash. Si solo mueve el documento hacia abajo a #a1
, solo necesita establecer scrollTop
en 0 luego de que el documento haya sido cargado probablemente.
editar
buscando en otras preguntas de stackoverflow,
parent.location.hash = ''''
Debería hacerlo, pero tal vez vuelva a cargar la página (hay que probarlo)
Aparte de eso, le aconsejo que lo maneje durante / antes de sus llamadas AJAX, es decir,
if (hash != ''a1''){ doAjax(); } //pseudocode obviously.
Edición 2 con código basado en código publicado
O, si solo necesita llamar a AJAX con url
sin hash, puede eliminarlo en una cadena, que llama a jQuery, ¿no?
var $tabValue = $(this).attr(''href'');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf(''#''));
básicamente obtenemos el href
antes del primer #
Tengo una URL codificada como:
https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1
Cuando Javascript está habilitado, no quiero el valor de hash al final, así que, ¿cómo lo elimino?
Cuando Javascript está deshabilitado debe estar presente.
Gracias.
EDITAR
Aquí está el AJAX jQuery que estoy usando. Así que estoy pasando la URL codificada a la misma página en el servidor y recuperando una tabla de ella:
// Find href of current tab
var $tabValue = $(this).attr(''href'');
// AJAX new table in
$.ajax({
type: "GET",
cache: false,
url: $(this).attr(''href''),
success: function(data){
// Find benefit wrap
$(data).find(''.benefitWrap'').each(function(){
// get the contents
var $benefitWrap = $(this).html();
// replace contents on page
$(''.benefitWrap'').replaceWith($(''<div class="benefitWrap">'' + $benefitWrap + ''</div>''));
});
}
});
Esto podría ser útil para alguien que hace la misma pregunta, cómo extraer los datos después de un # en una href.
this.hash.slice(1);
Esto le dará # 123 como 123.
Edición: Probablemente debería tener en cuenta que si va a calcular números a partir de estos datos, es mejor usar parseInt(this.hash.slice(1));
o si no obtendrá resultados funky.
Un simple window.location.hash=""
lo hará.