javascript - 使用 JQuery 从 href 属性字符串中提取值

标签 javascript jquery

我想使用 JQuery 从 href 属性字符串中提取值

$(this).attr("href")

会给我

?sortdir=ASC&sort=Vendor_Name

我需要的是将这些值解析成一个数组

myArray['sort']

myArray['sortdir']

有什么想法吗? 谢谢!

顺便说一句,我在 SO 的其他地方看到了以下与查询字符串一起使用的类似想法。 我还不能根据我的需要调整它。

var urlParams = {};
    (function () {
        var match,
    pl = /\+/g,  // Regex for replacing addition symbol with a space
    search = /([^&=]+)=?([^&]*)/g,
    decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
    query = window.location.search.substring(1);

        while (match = search.exec(query))
            urlParams[decode(match[1])] = decode(match[2]);
    })();

最佳答案

尝试以下操作:

var href = $(this).attr("href")
href = href.replace('?', "").split('&');

var myArr = {};
$.each(href, function(i, v){
   var s = v.split('=');
   myArr[s[0]] = s[1];    
});

DEMO

关于javascript - 使用 JQuery 从 href 属性字符串中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11690267/

相关文章:

使用 getElementById 方法进行 JavaScript 电子邮件验证

javascript - Jquery .attr() 将值设置为未定义,为什么?

javascript - 将 PHP 变量传递给 Jquery

jquery - 基于没有类的无序列表的 CSS 菜单

javascript - UInt8Array() 最大值是多少?

javascript - 事件处理程序和函数

javascript - 如果 .focusout 表单上没有值,是否恢复为原始值?

javascript - 表格行显示/隐藏 *无* 列宽调整,w/TableLayout : auto

javascript - IE 窗口失去对使用任何 XMLHttpRequest 启动 Angular 应用程序的关注

jquery - SVG map 在区域点击时显示内容