Jquery - 如何在链接中更改属性href的一部分?

时间:2014-03-28 22:57:29

标签: javascript jquery

我不知道在从?page到& page的链接中更改href属性我做错了什么。它留在?页面上。谢谢你的任何建议。

Jquery的:

var article_pagination_change = function(){
    $('pagination a').each(function(){
       $(this).href.replace('?page','&page');
    });
}
article_pagination_change();

HTML:

<div id="pagination80" class="pagination" style="">
  <a class="first" data-action="first" href="?page=1">&lt;&lt;</a>
  <a class="previous" data-action="previous" href="?page=1">&lt;</a>
  <input class="pag_input_80" type="text" value="1 of 12" data-max-page="12" readonly="readonly">
  <a class="next" data-action="next" href="?page=2">&gt;</a>
  <a class="last" data-action="last" href="?page=12">&gt;&gt;</a>
</div>

2 个答案:

答案 0 :(得分:5)

您需要实际设置属性:

var article_pagination_change = function(){
    $('.pagination a').each(function(){
        var newurl = $(this).attr('href').replace('?page','&page');
        $(this).attr('href', newurl);
    });
}
article_pagination_change();

请注意,我在.之前添加了pagination,并且正在使用attr('href')而不仅仅是href

Here's a working jsFiddle

答案 1 :(得分:5)

如果您不介意更改代码,可以尝试这种更简单的方法:

var article_pagination_change = function(){
    $('.pagination a').attr('href',function(index,attr){
       return attr.replace('?','&');
    });
}
article_pagination_change();

除非.each()上有额外的?page,否则您真的不需要&page也不能将?替换为href

<强> Sample JSFiddle