本人很少写博客,有不正确的地方还希望大家多多指导。
假设现在有一个URL,如下。
如何通过JS访问到id和name里面的值呢,实现我们来分析一下思路。
- 先获取当前页面的URL,通过window.location.href。
- 提取该URL?后面的部分,通过slice()方法。
- 把获取到的Request对象分割成字符串数组,通过split() 方法。
接下来看代码。
function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for (var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }
接下来就是获取指定参数的值了,代码如下。
var id = getUrlVars()["id"]; var name = getUrlVars()["name"];
最后,我们再看看jQuery的写法。
1 $.extend({ 2 getUrlVars: function() { 3 var vars = [], 4 hash; 5 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 6 for (var i = 0; i < hashes.length; i++) { 7 hash = hashes[i].split('='); 8 vars.push(hash[0]); 9 vars[hash[0]] = hash[1]; 10 } 11 return vars; 12 }, 13 getUrlVar: function(name) { 14 return $.getUrlVars()[name]; 15 } 16 }); 17 var id = $.getUrlVar('id'); 18 var name = $.getUrlVar('name');