1.简单的JQuery

2.jQuery对象(包装集)、Dom对象

3.JQuery提供的函数

1.简单的JQuery


        $(document).ready(function () {
            alert("加载完毕!");
        });//注册事件的函数,和普通的dom不一样,不需要在元素上标记on**这样的事件。

        //当页面Dom元素加载完毕时执行代码,可以简写为:
$(function () {
            alert("加载完毕!");
        });

和onload类似,但是onload只能注册一次(window.onload=function...) ,后注册的取代先注册的,而ready则可以多次注册都会被执行。

JQuery的ready和Dom 的onload的区别(*):onload是所有Dom元素创建完毕、图片、Css等都加载完毕后才被触发,而ready则是Dom元素创建完毕后就被触发,这样可以提高网页的响应速度。在jQuery中也可以用$(window).load()来实现onload那种事件调用的时机。

        $(window).load(function() {
            alert("gee");
        });

2.jQuery对象(包装集)、Dom对象


DOM对象的JavaScript方法

    • Var obj=document.getElementById(“ID”);

    • Var objhtml=obj.innerHTML;

jQuery对象是通过jQuery包装DOM对象后产生的对象

    • $(“#ID”).html();

jQuery对象不能使用DOM对象的方法,DOM对象也不能使用jQuery对象的方法

    • var $cr = $(“#cr");    var cr = $cr[0]; // var cr = $cr.get(0);

              $(document).ready(function() {
      var $div = $("#d2");        
      //把JQuery转换为DOM
      var div = $div.get(0);
                  div.innerHTML = "cba";
              });
    • var cr = document.getElementById("cr");   var $cr = $(cr);
      window.onload = function() {
      var div = document.getElementById("d1");      
      //把DOM对象转换为JQuery对象
      var $div = $(div);
                  $div.html("333");
              };

Array是JS语言本身的对象,不是Dom对象,因此不需要转换为Jquery对象才能用

3.JQuery提供的函数


$.map(array,fn) 对数组array中每个元素调用fn函数逐个进行处理,fn函数将处理返回,最后得到一个新数组。猜猜内部实现。

例子,得到一个元素值是原数组值二倍的新数组
var arr = [3, 5, 9];
var arr2 = $.map(arr, function(item) { return item * 2; });//联想C#委托的例子。函数式编程。
$.map不能处理Dictionary风格的数组。

$.each(array,fn) 对数组arry每个元素调用fn函数进行处理,没有返回值。猜猜内部实现。
var arr = { "tom": "汤姆", "jerry": "杰瑞", "lily": "莉莉" };
$.each(arr, function(key, value) { alert(key+"="+value); });


如果是普通风格的数组,则key的值是序号。
还可以省略function的参数,这时候用this可以得到遍历的当前元素:
var arr = [3, 6, 9];
$.each(arr, function() { alert(this); });//能读懂。
普通数组推荐用无参,用dict风格的就用key、value。
$.函数名   可以视为静态函数

        //$.map有返回
        var arr = [100, 200, 300, 400];
        arr = $.map(arr, function (n) {
            return n * 4;
        });
        alert(arr);
        ////!------弹出[400,800,1200,1600]


        var arr = { "tom": "汤姆", "jerry": "杰瑞", "lily": "莉莉" };
    //$.each(arr, function (key, value) {
        //     alert(key + "=" + value);
        //});
        //!------分别弹出"tom=汤姆","jerry=杰瑞","lily=莉莉"

        //$.each(arr, function () {
        //    alert(this);
        //});
        //!------分别弹出汤姆,杰瑞,莉莉


        //var tt = [ 2, 3, 5 ];
        //$.each(tt, function () {
        //    alert(this);
        //});
        ////!------分别弹出2,3,5

        //$.map(arr, function() {
        //    alert(this);
        //});
        //!------分别弹出3个 [object Window]

    最新文章

    1. Net分布式系统之五:C#使用Redis集群缓存
    2. Kotlin偏好设置
    3. [转]c++ vector 遍历方式
    4. HTTP 请求头中的 X-Forwarded-For
    5. BZOJ 2818
    6. mongodb 非 admin 库 认证登陆失败 原因(百度好多都 是渣)db.addUser() 请走开。
    7. Xcode7.1与iOS9之坑
    8. python paramiko模拟ssh登录,实现sftp上传或者下载文件
    9. OC
    10. .Net Core 2.0 EntityFrameworkCore CodeFirst入门教程
    11. 如果想让某个块状元素右对齐,脑子里不要就一个float:right,很多时候,margin-left:auto才是最佳的实践
    12. 力扣算法题—060第K个排列
    13. C++ 中 const、volatile、mutable的用法
    14. Java基础-方法
    15. int**a = new int[5][6] 怎么delete
    16. OpenJuege 兔子与星空
    17. webapck 打包体积优化策略
    18. Python MySQL(MySQLdb)
    19. pdb学习笔记
    20. oracle查询表结构语句

    热门文章

    1. MRC
    2. Java对文件中的对象进行存取
    3. HTTP协议与HTTPS协议区别
    4. JQ库函数记忆要点
    5. am335x 1G nand 启动Linux qt
    6. qt-5.6.0 移植之qt源码编译
    7. Android之Toast通知的几种自定义用法
    8. Dex动态加载
    9. 转:jquery向普通aspx页面发送ajax请求
    10. iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用