博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用jQuery封装的一些方法
阅读量:5830 次
发布时间:2019-06-18

本文共 1878 字,大约阅读时间需要 6 分钟。

先引入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;    }

 

转载于:https://www.cnblogs.com/htonline/p/7081867.html

你可能感兴趣的文章
解决 ThinkPHP5 无法接收 客户端 Post 传递的 Json 参数
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>
Dubbo点滴(2)之集群容错
查看>>
检测不到兼容的键盘驱动程序
查看>>
listbox用法
查看>>
冲刺第九天 1.10 THU
查看>>
传值方式:ajax技术和普通传值方式
查看>>
Linux-网络连接-(VMware与CentOS)
查看>>
寻找链表相交节点
查看>>
AS3——禁止swf缩放
查看>>
linq 学习笔记之 Linq基本子句
查看>>