用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;
    }
时间: 2024-10-10 11:44:58

用jQuery封装的一些方法的相关文章

【转】封装jQuery Validate扩展验证方法

本文转自:http://www.cnblogs.com/linjiqin/p/3433635.html 一.封装自定义验证方法-validate-methods.js /***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/ $(

封装jQuery Validate扩展验证方法

一.封装自定义验证方法-validate-methods.js /***************************************************************** jQuery Validate扩展验证方法 (linjq) *****************************************************************/ $(function(){ // 判断整数value是否等于0 jQuery.validator.addMe

jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化

jQuery封装自定义事件--valuechange(动态的监听input,textarea)之前值,之后值的变化 js监听输入框值的即时变化 网上有很多关于 onpropertychange.oninput的讲解,但是他们都不是我想要的,我想要的是动态的监听input,textarea等之前值和之后改变的值,比如像KISSY中的valuechange事件一样,当我在输入框里面开始输入1的时候,那么之前值是undefined,现在的值是1,当我接着输入2时候,那么之前的值是1,现在的值是2.等,

js框架封装,模拟jQuery封装

模拟jQuery框架,利用原生的js技术,封装一个js框架,以加深对jQuery的常用api的使用和面向对象原理的理解:一:结构部分首先利用闭包,构造一个自执行函数,然后利用选择器函数Sizzle,获取dom元素:其后设置入口函数jQuery,返回一个F的实例:然后对jQuery.prototype进行设置:其后修改F的原型指向jQuery的原型,最后暴露出去两个接口$和jQuery:二:jQuery.fn.extend = jQuery.extend = function(){}通过向jQue

jQUery_review之jQuery的终极ajax方法$.ajax()

经过的项目大大小小也有非常多的了,印象中很多框架低层封装的方法都是在ajax()方法的基础上进行扩展的.ajax方法可以说是jQuery提供的各式各样的ajax相关方法的鼻祖,所有其他的比如load,get,post,getScript,getJson方法都是扩展于jQuery.ajax方法. 下面是一个实际的DEMO,将上面的参数都用了一遍: 前端页面的代码: <%@ page language="java" import="java.util.*" pag

jquery封装插件

1.封装静态插件 创建一个jquery文件 里面可以封装多个方法 命名格式多位  jquery.[插件名].js $.extend({ add:function(a,b){return a+b;} }); $.extend({ mins:function(a,b){return a-b;} }); 2.封装成员函数插件也可以理解为动态插件 创建一个jquery文件 里面可以封装多个方法 命名格式多位  jquery.[插件名].js $.fn.extend({ alertWhileClick:f

在jsp提交表单的参数封装到一个方法里

建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总结全部看完会有很大的收获哦! 而把jsp专递的参数封装到一个方法里面也是从他那里学到的. 我觉得特别有用,尤其是在做项目的时候能省很多的代码  一: 需要的包 根据上一篇JDBC+Servlet+jsp(http://www.cnblogs.com/zhu520/p/6913650.html)的内容

Jquery封装ajax

? Load方法 ????<!-- 将jquery.js导入进来 --> ????<script type="text/javascript" src="js/jquery-1.7.2.js"></script> ????<script type="text/javascript"> ????$(function(){ ????????$("a").click(function(

jQuery 封装、插件浅析

今天小码哥突发兴致想学习jQuery.当正在研究一个不错的插件的时候,又突然有了一个疑问,那就是为啥很多大拿前辈们在封装自己写的插件的时候总是按照这个格式:如;(function($){})(jQuery);.或者是这样定义方法对象的?如:$.fn.add=function(){}啥的!!尤其是后一个$.fn中的fn是干什么的?(大家不要笑俺,,,小码哥也是初学者,还有很多没有达到深刻理解的境界.)因此,偶就上网借鉴了一下别人总结的,然后又加上俺自己的理解,成就了一下的一片博文! 大家都晓得,j