jQuery库总结

一、什么是 jQuery ?

jQuery是一个JavaScript函数库。

jQuery是一个轻量级的"写的少,做的多"的JavaScript库。

jQuery库包含以下功能:

  • HTML 元素选取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函数
  • JavaScript 特效和动画
  • HTML DOM 遍历和修改
  • AJAX
  • Utilities

二、ajax使用方式

$.ajax({

        url:'', 链接路径

       type:'post/get' 用什么方式提交

       data:{键:值}, 传入数据用键值对方式传入

        dataType:"json"服务器返回的数据类型。//除了单纯的json,还可以指定 html、xml、jsonp、script或者text。

       success:function(){ 成功是传入的参数 } ,

       error:function(){}

})

<input class="form-control" id="username" name="username" type="text"/>
<input class="form-control" id="password" name="password" type="password"/>
<button type="button" onclick="loginSubmit()">立即登录</button>
function loginSubmit() {
        var username = $("#username").val();    // 获取username的<input>框数据
        var password = $("#password").val();    // 获取password的数据
        // 判断
        if (username.length == 0) {
            $("#username").tips({msg: "请输入用户名。"});
            return;
        }
        if (password.length == 0) {
            $("#password").tips({msg: "请输入密码。"});
            return;
        }
        // Ajax提交数据
        $.ajax({
            url: "admin/check_login",    // 提交到后端的url路径
            type: "post",    // 提交方式
            data: {"username": username, "password": password},  //必须为Key:Value 格式。
            dataType: "json",    // 服务器端返回的数据类型
            success: function (data) {    // 请求成功后的回调函数,
                if (data.message == "success") {    
                    //跳转到系统首页
                   ......
                } else {
                    ......
                }
            },
        });
    }

三、event对象的简介

  • event.data //传递的额外事件响应方法的额外参数

  • event.currentTarget //在事件响应方法中等同于this,当前Dom对象

  • event.target //事件触发源,不一定===this

  • event.pageX //The mouse position relative to the left edge of the document

  • event.pageY

  • event.stopPropagation()//阻止事件冒泡

  • e.preventDefault(); //阻止默认行为

  • event.type //事件类型:click,dbclick...

  • event.which //鼠标的按键类型:左1 中2 右3

四、一些概念

1、jQuery采用的是构造函数模式进行开发的,jQuery是一个类;

2、常用的方法(CSS、属性、筛选、事件、动画、文档处理)都是定义在jQuery.prototype上的 ->只有jQuery的实例才能使用这些方法;

3、我们的选择器其实就是创造jQuery类的一个实例 ->获取页面中元素用的 jQuery(); -> $(),$()就是jQuery的选择器,就是创建jQuery这个类的一个实例。JS:取到的是一个DOM对象。JQUERY:取到的是一个JQUERY对象;

4、js和jQuery的一点点冲突问题:

jQuery对象转成DOM对象:

(1)jQuery对象实际上是一个数据对象,可以通过[index]方法获得相应的DOM对象。

如:var $v=$("#v"); //得到jQuery对象

var v=$("v")[0];//转换成DOM对象

(2)jQuery本身可以通过.get(index)方法得到相应的DOM对象

如:var $v=$("#v"); //得到jQuery对象

var v=$v.get(0);

DOM对象转成jQuery对象:

对于已经是一个DOM对象,只需要用$()将DOM对象包装起来,就能获得jQuery对象了

如:var v=document.getElementById("v"); //得到DOM对象

var $v=$(v); //转成jQuery对象

转换后,就可以任意使用jQuery的方法了

5、jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的。从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库。jQuery改变javascript编码方式!

6、jQuery核心思想:

        通过闭包将各种变量封装起来,这样不会污染全局变量环境,还能实现DOm操作的一些功能,然后通过下面一句话:

window.jQuery = window.$ = jQuery;

将我们在闭包当中定义的jQuery对象导出为全局变量jQuery和$,因此我们才可以在外部直接使用jQuery和$。

        具体实现如下:

        首先我们进入jquery源码中,可以很容易的找到jquery对象的声明,看过以后会发现,原来我们的jquery对象就是init对象。

jQuery = function( selector, context ) {
        return new jQuery.fn.init( selector, context, rootjQuery );
    }

   这里出现了jQuery.fn这样一个东西,它的由来可以在jquery的源码中找到,它其实代表的就是jQuery对象的原型。

jQuery.fn = jQuery.prototype;
jQuery.fn.init.prototype = jQuery.fn;

   这两句话,第一句把jQuery对象的原型赋给了fn属性,第二句把jQuery对象的原型又赋给了init对象的原型。也就是说,init对象和jQuery具有相同的原型,因此我们在上面返回的init对象,就与jQuery对象有一样的属性和方法。

 7、特点:

        轻量级框架;丰富的DOM选择器;链式表达式;事件、样式、动画支持;Ajax支持;跨浏览器兼容;插件拓展开发;可扩展性强。

8、优点:

        实现脚本与页面的分离;最少的代码做更多的事;性能支持好;使用广泛;插件开发;节约学习成本

9、缺点:

        不能向后兼容,每个版本不能兼容早期版本;

        插件兼容性,最近jQuery下,现有插件可能无法正常使用;

        多个插件冲突;

        动画和特效的支持较差。

转载于:https://my.oschina.net/u/3728554/blog/1862447

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值