javascript - 如何通过 jQuery 添加/更新 href 属性的参数?

标签 javascript jquery html anchor

我有一个带有 anchor 元素的页面:

<a id="courses" href="/courses">Courses</a>

我想向 href 添加或更新一些参数,例如:

  • 添加country参数:<a id="courses" href="/courses?country=US">Courses</a>

  • 更新country参数来自USUK :<a id="courses" href="/courses?country=UK">Courses</a>

通过 JavaScript 或 jQuery 实现此目的的最佳方法是什么?

最佳答案

您可以将函数作为第二个参数传递给 .attr()修改 href 属性。

尝试以下方法:

// set
$("#courses").attr('href','/courses?country=US'); 
console.log($("#courses").attr('href'));

// update
$('#setParam').click(function(){
  $("#courses").attr('href', function(_, el){
    return el.replace(/(country=)[a-z]+/ig, '$1UK');
  });
  console.log($("#courses").attr('href'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="courses" href="/courses">Courses</a>
<button id="setParam" type="button">Set Param</button>

关于javascript - 如何通过 jQuery 添加/更新 href 属性的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53502667/

相关文章:

javascript - 在javascript中获取根json元素

javascript - 忽略向上和向下鼠标按下事件

javascript - 重写 jQuery 函数以与 Meteor.js 配合使用

html - 防止 flex 元素从一边到另一边渲染

JavaScript/HTML5 吉他,为每个琴弦演奏不同的声音

Javascript:设置 <select> 项的 BackgroundColor

javascript - JS滑动和淡出教程

javascript - up() 和 down() 与 Ext.getCmp()

javascript - 如何在Ajax上更新数据属性完整

javascript - 将代码后面的进度百分比传递给 Jquery 进度条?