使用jQuery更改href文件但不查询字符串

时间:2010-03-02 15:10:32

标签: jquery

我希望启用JavaScript的用户能够看到page results.php。 禁用JavaScript的用户应该看到results_d.php。

要做到这一点,我最初用results_d.php显示我的链接。 然后,通过使用JavaScript更改链接中的目标,只有启用了JavaScript的用户才能看到丰富的内容。

这里有一些关于使用jQuery更改整个href目标的问题,但是如何更改文件名并保持查询字符串不变?

我在想这样的事情,但它不起作用......

$(document).ready(function()
{
    $('a').attr('href').replace('results_d', 'results');
});

4 个答案:

答案 0 :(得分:2)

$(document).ready(function() { 
    $('a').attr('href', function(index, href) {
        return 'results?'+(href.split('?')[1])
    });
});

答案 1 :(得分:0)

$(document).ready(function() { 
  $('a').each(function() {
    $(this).attr('href',$(this).attr('href').replace('results_d', 'results'));
  });
});

答案 2 :(得分:0)

感谢回复的家伙。我在文件中遇到了一些错误。我已将错误添加到评论中。

最后,对我有用的是:

$('a').each(function()
{ 
    this.href = this.href.replace('results_d', 'results');
});

答案 3 :(得分:0)

jQuery(function(){
  
  jQuery("a").each(function(e,i){
    
    jQuery(this).attr("href",i.href.replace("results_d","results"));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a href="/search/results_d.php?kwds=whatever&amp;search_mode=abc&amp;countries[]=AL‌​L" class="medtxt">View all results</a> 
<a href="/search/results_d.php?asd=whatever&amp;search_mode=abc&amp;countries[]=AL‌​L" class="medtxt">View all results</a> 
<a href="/search/results_d.php?kwdfgds=whatever&amp;search_mode=abc&amp;countries[]=AL‌​L" class="medtxt">View all results</a>

我知道这有点晚了,但我在2010年没有进行stackoverflow,我无法回答这个未回答的问题。

谢谢!