Rya*_*P13 17 javascript jquery fragment-identifier
我有一个像这样的硬编码网址:
https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7841#a1
Run Code Online (Sandbox Code Playgroud)
当启用Javascript时,我不希望最后的哈希值,所以我如何删除它?
当Javascript被禁用时,它需要存在.
谢谢.
这是我正在使用的AJAX jQuery.所以我将硬编码的URL传递到服务器上的同一页面并从中检索表格:
// 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>'));
});
}
});
Run Code Online (Sandbox Code Playgroud)
Ada*_*iss 28
这取决于哈希值的作用.如果只是将文档向下移动到#a1,则只需scrollTop在文档加载后设置为0即可.
查看其他stackoverflow问题,
parent.location.hash = ''
Run Code Online (Sandbox Code Playgroud)
应该这样做,但可能重新加载页面(你必须测试它)
除此之外,我建议你在AJAX调用期间/之前处理它 - 即
if (hash != 'a1'){ doAjax(); } //pseudocode obviously.
Run Code Online (Sandbox Code Playgroud)
或者,如果你只需要在url 没有哈希的情况下调用AJAX ,你可以在字符串中删除它,调用jQuery,不是吗?
var $tabValue = $(this).attr('href');
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
Run Code Online (Sandbox Code Playgroud)
我们基本上得到的href前第一#
Ste*_*hab 14
一个简单的window.location.hash=""意志就是这样.
小智 8
这对于提出相同问题的人,如何在href中的#之后提取数据可能会有所帮助.
this.hash.slice(1);
Run Code Online (Sandbox Code Playgroud)
这将使#123为123.
编辑:我应该注意,如果你要从这些数据计算数字,最好使用parseInt(this.hash.slice(1));,否则你会得到时髦的结果.
| 归档时间: |
|
| 查看次数: |
67165 次 |
| 最近记录: |