JS自定義功能函數(shù)實(shí)現(xiàn)動(dòng)態(tài)添加網(wǎng)址參數(shù)修改網(wǎng)址參數(shù)值
<script type="text/javascript">
thisURL = document.URL;
thisHREF = document.location.href;
thisSLoc = self.location.href;
thisDLoc = document.location;
strwrite = " thisURL: [" + thisURL + "]<br>"
strwrite += " thisHREF: [" + thisHREF + "]<br>"
strwrite += " thisSLoc: [" + thisSLoc + "]<br>"
strwrite += " thisDLoc: [" + thisDLoc + "]<br>"
document.write( strwrite );
</script>
但有時(shí)候我們需要改變目前網(wǎng)址的參數(shù)/參數(shù)值,這時(shí)候大家會(huì)如何處理呢?一般應(yīng)該都會(huì)先通過(guò)獲取所有參數(shù)的信息,然后再根據(jù)實(shí)際需求來(lái)對(duì)某一參數(shù)進(jìn)行修改。沒(méi)錯(cuò)!根據(jù)這一原理,今天就給大家分享一下個(gè)人在開(kāi)發(fā)中封裝的功能函數(shù)。
//=============== 改變網(wǎng)址的參數(shù)值 ================
function ChangeURLParm(Turl,Parm,PValue,ClearParm){
//Turl: 網(wǎng)址
//Parm: 參數(shù)
//PValue: 參數(shù)值
//ClearParm: 要清除的參數(shù)
var URL,Parms,ParmsArr,IsExist;
var NewURL = Turl;//window.location.href
IsExist = false;
with(Turl){
if(indexOf('?')>0){
URL = substr(0,indexOf('?'));//不包含參數(shù)
Parms = substr(indexOf('?')+1,length);//參數(shù)
}
else{
URL = Turl;
Parms = '';
}
}
if (Parms!=''){
var i;
ParmsArr = Parms.split("&");
for(i=0;i<=ParmsArr.length-1;i++){
if (String(Parm).toUpperCase()==String(ParmsArr[i].split("=")[0]).toUpperCase()){//原來(lái)有參數(shù)Parm則改變其值
ParmsArr[i] = Parm + "=" + PValue;
IsExist = true;
if (String(ClearParm) ==""){
break;
}
}
else if ( (String(ClearParm)!="") && (String(ClearParm).toUpperCase()==String(ParmsArr[i].split("=")[0])).toUpperCase() ){//去掉參數(shù)ClearParm的值
ParmsArr[i] = ClearParm + "=";
}
}
for(i=0;i<=ParmsArr.length-1;i++){
if(i==0){
Parms = ParmsArr[i];
}
else{
Parms = Parms + "&" + ParmsArr[i];
}
}
NewURL = URL + "?" + Parms;
if (!IsExist){
NewURL = NewURL + "&" + Parm + "=" + PValue;
}
}
else{
NewURL = URL + "?" + Parm + "=" + PValue;
}
return NewURL;
}
其實(shí)這功能在實(shí)際應(yīng)用中很好使,在分頁(yè)跳轉(zhuǎn)、多條件查詢搜索等功能中尤為突出。
- js中對(duì)函數(shù)設(shè)置默認(rèn)參數(shù)值的3種方法
- javascript實(shí)現(xiàn)一個(gè)數(shù)值加法函數(shù)
- js 數(shù)值項(xiàng)目的格式化函數(shù)代碼
- 詳解js中Number()、parseInt()和parseFloat()的區(qū)別
- JavaScript ParseFloat()方法
- javascript的parseFloat()方法精度問(wèn)題探討
- javascript中的parseInt和parseFloat區(qū)別
- js中parseFloat(參數(shù)1,參數(shù)2)定義和用法及注意事項(xiàng)
- js中string和number類型互轉(zhuǎn)換技巧(分享)
- JavaScript中Number對(duì)象的toFixed() 方法詳解
- 詳解JS轉(zhuǎn)換數(shù)值函數(shù)Number()、parseInt()、parseFloat()
相關(guān)文章
微信小程序?qū)崿F(xiàn)select二級(jí)下拉
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)select二級(jí)下拉效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框
這篇文章主要介紹了javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框,需要的朋友可以參考下2014-05-05Google的跟蹤代碼 動(dòng)態(tài)加載js代碼方法應(yīng)用
Google的跟蹤代碼 動(dòng)態(tài)加載js代碼,需要的朋友可以參考下2012-11-11javascript簡(jiǎn)單實(shí)現(xiàn)表格行間隔顯示顏色并高亮顯示
表格行間隔顯示顏色并實(shí)現(xiàn)高亮顯示,這種效果大家都有見(jiàn)到過(guò)吧,下面就為大家詳細(xì)介紹下,需要的朋友可不要錯(cuò)過(guò)2013-11-11uniapp實(shí)現(xiàn)h5、app與微信小程序三端pdf文件下載和預(yù)覽功能
作為使用uni-app的小白來(lái)說(shuō),嘗試了好幾種方法,終于得到了我想要的效果,下面這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)h5、app與微信小程序三端pdf文件下載和預(yù)覽功能的相關(guān)資料,需要的朋友可以參考下2022-12-12關(guān)于js中removeEventListener取消事件監(jiān)聽(tīng)的坑
許多入前端不久的人都會(huì)遇到removeEventListener無(wú)法清除監(jiān)聽(tīng)的情況,下面這篇文章主要給大家介紹了關(guān)于js中removeEventListener取消事件監(jiān)聽(tīng)的坑,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09JavaScript定義函數(shù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了JavaScript定義函數(shù)的相關(guān)資料,需要的朋友可以參考下2017-06-06JScript中的undefined和"undefined"的區(qū)別
JScript中的undefined和"undefined"的區(qū)別...2007-03-03JavaScript實(shí)現(xiàn)對(duì)下拉列表值進(jìn)行排序的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)對(duì)下拉列表值進(jìn)行排序的方法,實(shí)例分析了javascript對(duì)下拉列表元素的遍歷與排序?qū)崿F(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07