javascript - 从 href 属性获取查询字符串参数

标签 javascript jquery

我希望能够获取变量 view_data_id 的值并将其存储在另一个名为 view_data_id_fk 的变量中。

最后一行代码似乎对我不起作用,所以我想知道我该怎么做?

var view_data_id = val['view_data_id'];

// How to obtain the value of view_data_id?
<td><a href="datamapmain.php?view_data_id='+view_data_id+'" 
class="link">Link</a></td>

//Will be passed on to ajax file
view_data_id_fk:$('.link').val();

最佳答案

您可以使用 jQuery 和 attr(..) 方法(或仅标准 JavaScript)和正则表达式获取值:

jQuery:

var q = $('.link').attr('href').match(new RegExp('[?&]view_data_id=([^&#]*)'));
var view_data_id_fk = q ? q[1] : '';

标准 JavaScript:

var q = document.querySelector('.link').href.match(new RegExp('[?&]view_data_id=([^&#]*)'));
var view_data_id_fk = q ? q[1] : '';

[编辑,感谢 Alexei Levenkov]

有一个标准的方法可以做到这一点,使用 URLSearchParams api,但它对浏览器的支持有限(caniuseMDN):

var q = new URLSearchParams(document.querySelector('.link').href).get('view_data_id');
var view_data_id_fk = q || '';

关于javascript - 从 href 属性获取查询字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53902124/

相关文章:

php - 使用 jquery、php 和 mysql 制作级联下拉菜单

javascript - 如何仅在特定页面显示 JQuery Dialog 关闭按钮

javascript - 类 vs 数据- vs 自定义属性

web-applications - 如何使用带有 tweetnacl-js 的密码加密 key ?

javascript - 让 JQuery 创建多个按钮,这些按钮使用 CSS 在一组中设置样式

php - jQuery $.post 返回的数据

javascript - 当倒数计时器变为 0 时,如何将用户重定向到另一个页面?

javascript - Jquery中的自定义警报不等待并返回点击事件

javascript - 从 Angular ui Bootstrap 模式中单击时如何捕获背景单击事件?

javascript - 在 CKEditor 中添加单行换行符的按钮