Javascript 使用JQuery从href属性字符串中提取值
我想使用JQuery从href属性字符串中提取值Javascript 使用JQuery从href属性字符串中提取值,javascript,jquery,Javascript,Jquery,我想使用JQuery从href属性字符串中提取值 $(this).attr("href") 会给我 ?sortdir=ASC&sort=Vendor_Name 我需要的是将这些值解析为数组 myArray['sort'] myArray['sortdir'] 有什么想法吗? 谢谢 顺便说一句,我在其他地方看到了以下类似的想法,可以用于查询字符串。 我还不能根据我的需要调整它 var urlParams = {}; (function () { var ma
$(this).attr("href")
会给我
?sortdir=ASC&sort=Vendor_Name
我需要的是将这些值解析为数组
myArray['sort']
myArray['sortdir']
有什么想法吗?
谢谢
顺便说一句,我在其他地方看到了以下类似的想法,可以用于查询字符串。
我还不能根据我的需要调整它
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 url = $(this).attr("href");
url = url.replace("?sortdir=", "");
url = url.replace("sort=", "");
myArray['sort'] = url.split("&")[1]; // Or use a temporary tab for your split
myArray['sortdir'] = url.split("&")[0];
该解决方案取决于您的url是否仍然像?sortdir=ASC&sort=Vendor\u Name您可以从这里使用jQuery BBQ的deparam函数: 尝试以下操作:
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];
});
试试这个
function getURLParameter(name, string) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(string)||[,null])[1]
);
}
var string = $(this).attr("href");
alert(getURLParameter("sort",string));
在这里演示您可以更改var字符串值并播放
编辑
删除了第二个示例,因为该代码不是很好,也不起作用。请参见此处:@Pinch您检查过小提琴了吗?这是一个对象,它不是空的。你的方法也有效,我仍然无法给你+1,直到我的代表上升。。其他人请给他+1!非常感谢,第一种方法非常有效。如果那是赞美的话。