<script type="text/javascript">
$(function(){
$("a[rel='tab']").click(function(e){
e.preventDefault();
pageurl = $(this).attr('href');
$.ajax({url:pageurl+'?rel=tab',success: function(data){
$('#right_column').html(data);
}});
if(pageurl!=window.location){
window.history.pushState({path:pageurl},'',pageurl);
}
return false;
});
});
</script>
以前的代码是我用来在rel="tab"
标记内点击<a>
链接时使用内容更新div元素的内容。
示例<a>
标记:
<a href="index.php?v1=variable1&v2=variable2" rel="tab">Click Here</a>
所以现在,我需要更新上面javascript代码的以下几行,将index.php从链接中分出来...
$.ajax({url:pageurl+'?rel=tab',success: function(data){
$('#right_column').html(data);
}});
但需要将javascript的最后一部分的完整网址保留为pageurl。
我该怎么做?
我对此进行了研究并尝试实施此处列出的答案:How to substring in jquery 但似乎无法让它发挥作用。
答案 0 :(得分:2)
看起来你想要这样做,虽然我不确定为什么。
$.ajax({url:pageurl.replace('index.php', '') +'&rel=tab' ...
请注意concat上的&
而非?
,因为该网址已有?
答案 1 :(得分:1)
我认为你想要没有查询字符串的URL。
$.ajax({
url: pageurl.split('?')[0]+'?rel=tab',
success: function(data) { $('#right_column').html(data); }
});
这会将字符串拆分为问号,从而创建一个数组。数组的第一个元素是问号前面的字符串的一部分。如果没有问号,它将是整个字符串。
答案 2 :(得分:0)
如果您只想要href
属性中的查询字符串,请尝试使用
var ajaxUrl = this.search + (~this.search.indexOf('?') ? '&' : '?') + 'rel=tab';
$.ajax({
url: ajaxUrl,
// ...