javascript – 使用jQuery更改href参数

前端之家收集整理的这篇文章主要介绍了javascript – 使用jQuery更改href参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用jQuery重写href参数?

我有一个默认城市的链接

<a href="/search/?what=parks&city=Paris">parks</a>
<a href="/search/?what=malls&city=Paris">malls</a>

如果用户在#city文本框中输入一个值,我想用用户输入的值替换Paris.

到目前为止我有

var newCity = $("#city").val();

解决方法

鉴于您有独特的href值(?what = parks,?what = malls),我建议不要在$.attr()方法中写入路径;您将需要为每个唯一的href调用$.attr(),并且会非常快速地变得非常冗余 – 更不用说管理难度了.

下面我正在调用$.attr()并使用一个函数来替换新城市的& city =部分.这个方法的好处是这5行代码可以更新数百个链接,而不会破坏每个链接上的其他href值.

$("#city").change(function(o){
  $("a.malls").attr('href',function(i,a){
    return a.replace( /(city=)[a-z]+/ig,'$1'+o.target.value );
  });
});

你可能想要注意的一件事是空间和套管.您可以使用.toLowerCase()JavaScript方法将所有内容转换为小写,您可以使用另一个调用.replace()替换空格,如下所示:

'$1'+o.target.value.replace(/\s+/,'');

在线演示:http://jsbin.com/ohejez/

猜你在找的jQuery相关文章