今天项目中遇到这个问题就是在Web前端根据URL的参数动态设置某一元素的值。
网上有很多这样的代码,无非是通过window.location.search、window.location或window.location.href获得到URl的地址,然后再解析它。
先说下这3个的区别,假设URL地址为:http://localhost:22606/WebSite3/Default3.aspx?a=1&b=1
window.location:http://localhost:22606/WebSite3/Default3.aspx?a=1&b=1
window.location.search: ?a=1&b=1
window.location.href: http://localhost:22606/WebSite3/Default3.aspx?a=1&b=1
现在就贴一段代码吧。
方法一:
代码
functiongetvalue(name)
{
varstr=window.location.search;
if(str.indexOf(name)!=-1)
{
varpos_start=str.indexOf(name)+name.length+1;
varpos_end=str.indexOf("&",pos_start);
if(pos_end==-1)
{
returnstr.substring(pos_start);
}
else
{
returnstr.substring(pos_start,pos_end)
}
}
else
{
return"";
}
}
方法二:
代码 varURLParams=newArray();
varaParams=document.location.search.substr(1).split('&');
for(i=0;i<aParams.length;i++){
varaParam=aParams[i].split('=');
URLParams[aParam[0]]=aParam[1];
}
name=URLParams["name"]; alert(name)
方法三:
代码
Request={
QueryString:function(item){
varsvalue=location.search.match(newRegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"));
returnsvalue?svalue[1]:svalue;
}
}
alert(Request.QueryString("id"));
如果觉得《javascript 获取URL参数》对你有帮助,请点赞、收藏,并留下你的观点哦!