获取地址栏参数,json遍历
1. 获取地址栏参数
GetQueryString: function(name){ // 获取地址栏参数
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURIComponent(r[2]); return null;
}
2. 如果有一个结构比较深的json表,需要通过属性去遍历他的层次
function deepJson(obj, page) {
var result = {};
; (function walkTree(obj, page) {
for (key in obj) {
if (key == page) {
result = obj[key];
break;
} else if (obj[key].subMenu) {
walkTree(obj[key].subMenu, page);
}
}
})(obj, page);
return result;
}
var htmlconfig = {
system: {
text: '系统配置',
subMenu: {
account: {
text: '账号管理',
crumbs: 'system/account',
url: '#system/account'
},
role: {
text: '角色管理',
crumbs: 'system/role',
url: '#system/role'
},
function: {
text: '功能管理',
crumbs: 'system/function',
url: '#system/function'
},
permission: {
text: '权限设置',
crumbs: 'system/permission',
url: '#system/permission'
},
schedule: {
text: '任务调度',
crumbs: 'system/schedule',
url: '#system/schedule/index',
subMenu: {
service: {
text: '服务配置',
crumbs: 'system/schedule/service',
url: '#system/schedule/service',
subMenu: {
work: {
text: '任务作业配置表',
crumbs: 'system/schedule/service/work',
url: '#system/schedule/work'
},
}
}
}
},
config: {
text: '配置设置',
crumbs: 'system/config',
url: '#system/config'
}
}
}
}
}
};
module.exports = htmlconfig;
deepJson(htmlconfig,'service')
//根据路由确定面包屑的菜单
function deepJsonMenu(page) {
var result = {},
obj = utilSys.crumbConfig;
var menu = page.split('/'),
testObj = {};
var firstLevel = obj[menu[0]];
var otherObj = firstLevel;
testObj[0] = firstLevel;
for (var i = 1, len = menu.length; i < len; i++) {
testObj[i] = otherObj.subMenu[menu[i]];
otherObj = testObj[i];
}
return testObj;
}
deepJsonMenu('#system/config')
获取地址栏参数,json遍历的更多相关文章
- 用JS获取地址栏参数的方法
采用正则表达式获取地址栏参数: function GetQueryString(name) { var reg = new RegExp("(^|&)"+ nam ...
- 用JS获取地址栏参数的方法(超级简单)
方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new RegExp("( ...
- JS获取地址栏参数
获取地址栏参数(其中name为你所需要的参数值) function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- JS 获取 地址栏 参数
法一:正则表达式 /** * 采用正则表达式获取地址栏参数: **/ var GetQueryString = function (name) { var reg = new RegExp(" ...
- 用JavaScript获取地址栏参数的方法
/** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...
- 【2017-06-27】Js中获取地址栏参数、Js中字符串截取
一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- 【功能代码】---4用JS获取地址栏参数方法
用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...
- (转)用JS获取地址栏参数的方法(超级简单)
转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...
- vue项目获取地址栏参数(非路由传参)
在项目中,遇到一个需求,就是另一个系统直接跳转到我们项目中的某个页面,不需要做用户的校验直接单纯的跳转新页面,再初始化查询数据,参数以地址栏的形式传入 由于原来项目做过权限控制,所以在路由那边需要进行 ...
随机推荐
- Ubuntu 16 Mysql 安装配置
安装Mysql apt-get update; apt-get install mysql-server apt-get install mysql-client //安装过程中会提示修改密码 ...
- 327. Count of Range Sum(inplace_marge)
Given an integer array nums, return the number of range sums that lie in [lower, upper] inclusive.Ra ...
- AC自动机板子(from. qwer)
#include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> ...
- [Xcode 实际操作]七、文件与数据-(8 )读取和解析Plist文件(属性列表文件)
目录:[Swift]Xcode实际操作 本文将演示如何读取和解析Plist文件,即属性列表文件. 它是用来存储,串行化后的对象的文件. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[New File ...
- JS实现简单时钟效果
老师上课需要我们做一个时钟的小作业 ,我把它放在上面记录一下啦 表盘和时针我都是用的背景图的形式,然后绝对定位,通过调整left和top确定时针.分针.秒针的位置,transform-origin设置 ...
- 解决resignFirstResponder或者endEditing无效的办法
当你想要收回弹出的键盘时却发现平时用的resignFirstResponder和endEditing都失去作用时,应该考虑一下当前的TextField是否为第一响应者,如果不是第一响应者的话,自然下面 ...
- HDU-3499:Flight(SPFA+dp)
Recently, Shua Shua had a big quarrel with his GF. He is so upset that he decides to take a trip to ...
- hdu1494 跑跑卡丁车(动态规划)
Description 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种 加速卡,用这种加速卡可以在有限的时间里提高你的速度. ...
- 微软官方NET Core 2.0
NET Core 2.0 微软官方发布的.NET Core 2.0相关的博客: Announcing .NET Standard 2.0 Announcing .NET Core 2.0 F# and ...
- selenum autoit上传图片
目前,一般实现文件图片上传的方式都是有一个按钮,点击之后直接调用操作系统自身的弹框,选择文件后,实现上传.因为Selenium不支持调用操作系统的操作,所以这种情况下,利用Selenium无法完成图片 ...