首页 > 代码库 > 用jQuery封装的一些方法
用jQuery封装的一些方法
先引入jQuery <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
//序列化表单方法 $.fn.serializeObject = function() { var res = {}; var arr = this.serializeArray(); $.each(arr, function() { if(res[this.name] !== undefined) { if(!res[this.name].push) { res[this.name] = [res[this.name]]; } res[this.name].push(this.value || ‘‘); } else { res[this.name] = this.value || ‘‘; } }); //序列化时,如果radio、checkbox未被选中的话就不会出现,这里实现序列化时把radio、CheckBox未被选中时也添加进去 var $radio = $(‘input[type=radio],input[type=checkbox]‘, this); $.each($radio, function() { if(!res.hasOwnProperty(this.name)) { res[this.name] = ‘‘; } }); return res; }
在一些常规的项目中,时常会用到地址栏传值,封装了一个获取地址栏内容并转换为json的方法
//获取地址栏内容并转换成json格式 $.fn.getUrlJson = function() { var name, value; //定义变量用于存取地址栏的键值对 var str = decodeURI(location.href); //取得整个地址栏 var num = str.indexOf("?"); //获取?的所在位置 str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ] var arr = str.split("&"); //根据&分割字符串,把各个参数放到数组里 for(var i = 0; i < arr.length; i++) { num = arr[i].indexOf("="); //获取=的位置 if(num > 0) { name = arr[i].substring(0, num); value = arr[i].substr(num + 1); this[name] = value; } } }
下面两个常用的方法
//计算表达式的值,与eval作用类似,eval不容易调试,性能差,好像安全性也有问题 $.fn.evil = function(fn) { var Fn = Function; //一个变量指向Function,防止有些前端编译工具报错 return new Fn(‘return ‘ + fn)(); } //私有方法,检测参数是否合法 $.fn.isValid = function(options) { return !options || (options && typeof options === "object") ? true : false; }
用jQuery封装的一些方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。