• 二.jQuery源码解析之构建jQuery之构建函数jQuery的7种用法


    一:$(selectorStr[,限制范围]),接受一个选择器(符合jQuery规范的字符串),返回一个jQuery对象;
    二:$(htmlStr[,文档对象]),$(html[,json对象])传入html字符串,创建一个新的dom元素
    三:$(dom元素),$(dom元素集合)将dom元素转换成jQuery对象.
    四:$(自定义对象)封装普通对象为jQuery对象.
    五:$(回调函数)绑定ready事件监听函数,当Dom加载完成时执行.
    六:$(jQuery对象)接受一个jQuery对象,返回一个jQuery对象的拷贝副本
    七:$()创建一个空jQuery对象.

    1 //$(selector[,限制范围])
    2         $(".guo").click(function () {//这里没有context参数
    3             $("a.aguo", this).css({"color":"red"});//this就是context参数,用于限定范围
    4         });

    当传入的是字符串的时候,构造函数会判断是选择器字符串还是html字符串.,
    如果是选择器字符串:则遍历dom,查找与之匹配的元素,如果没有匹配元素,
    会返回一个空的jQuery对象;否则会将这些匹配到的元素创建一个对一个jQuery对象.

    1 //$(htmlStr[,文档对象])
    2         $("<div>大家好</div>").append("body"); //简单标签:不带子节点

     jQuery构造函数会使用js的原生态方法document.createElement()创建一个dom节点

     $("<div><a>大家好</a></div>").append("body"); //复杂标签:含有子节点.

    jQuery会使用文档碎片buildFragment()的方法将所有子节点一次性的全部插入到[,文档对象]中,
    如果这里不指定的话,就是document;

     $(html[,json对象])  

    当html是简单标签时,那么她的第二个参数可以是一个json对象,包含了这个dom元素的属性或事件.

    1 //$(html[,json对象])
    2  $("<div></div>", {
    3             "class": "gys", //因为class是js的关键字,所以要加引号
    4             text: "大家好",
    5             click: function () { alert("点我干嘛"); }
    6         }).append("body");

    $(element)或者$(elements)

    传入一个dom对象或者一组dom对象集合

    1 ("div.guo").click(function () {
    2             $(this).slideUp();
    3         });

    $(object);

    传入一个普通的对象

            var obj = { name: "guo", age: 24 };
            var $obj = $(obj);
            $obj.on("guo", function () {
                alert("出发了一个自定义的事件");
            });
            $obj.trigger("guo");

    $(callback)传入一个函数

     $(function () { })

    这个表示在Dom加载完毕后执行函数中的.

    $(jQuery Object);

    传入一个jQuery对象,则创建该jQuery对象的一个副本并返回,副本与传入的jQuery对象引用完全相同的Dom对象.

  • 相关阅读:
    分布式事务
    事务
    shell 脚本编写
    使用fail2ban 防止ssh暴力破解
    数据加密
    英文字符串排序算法
    SpringCloud-ServerConfig 配置中心服务端 / 客户端
    maven setting参考配置
    java面向对象设计原则
    Java Object
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/3765103.html
Copyright © 2020-2023  润新知