zoukankan      html  css  js  c++  java
  • jQuery-学习笔记(1)(北风网-娄景亮)

    jQuery:

    (jQuery 版本分:V1.0 、V2.0(不再支持IE6/7/8))

      1、函数自执行:

    <script type="text/javascript">
            //定义函数
            function selfRun() {
                    console.info("hello");
                }
                //调用或执行
            selfRun();
    
            //函数自执行
            (function selfRun() {
                console.info("hello");
            })();
    
            //函数自执行,带参数
            (function selfRun(name) {
                console.info("hello" + name);
            })("world!");
    
    </script>

      2、可以写$来使用jQuery的原因:

        window.jQuery = window.$ = jQuery;

        jQuery自执行函数初始化时,已经把jQuery赋值给了window.jQuery 和window.$ 变量;

      3、jQuery 和 javascript 开始执行函数的区别:

         //当dom元素加载完毕之后开始执行函数
            $(document).ready(function () {
                $("#content").val("hello jquery");
            });
    
            //当dom元素和资源文件加载完毕之后才开始执行函数
            window.onload = function () {};

    一、选择器:

      1、基本选择器:

        1.1 ID选择器:$("#id") 根据元素id查询,

          相当于: document.getElementById("id");

        1.2  元素选择器: $("div") 根据元素名查询,

          相当于:document.getElementByTagName("div");

        1.3  类选择器:$(".myClass") 根据class名属性查询,返回所有 class = "myClass" 的元素;

        1.4 返回所有元素:$(" * "),多用于结合上下文搜索;

        1.5 多条件选择器:$(" div , span ,p.myClass") , 返回所有查到的元素;

      2、层次选择器:

        2.1 后代选择器:

          $("form div") :在给定的祖先元素下匹配所有后代元素;

        2.2 parent > child 子代选择器 :只设置它儿子的,不设置孙子的,

          $("form > div ") : 在给定的父元素下匹配所有子元素

        2.3 prev + next :

          $("lable + input") : 匹配所有紧接在prev后的next元素(紧相邻的且只一个);

        2.4 prev ~siblins :

          $("form~ div ") : 匹配 prev 元素之后的所有siblings (兄弟级)元素(在匹配之后的元素,不包括该元素在内)

      3、过滤器:

        3.1 :first 选取第一个元素。$("div:first")选取第一个<div> $(".warn:first");

        3.2 :last 选取最后一个元素。$("div : last")选取最后一个<div>;

        3.3 :not(选择器) 选取不满足“选择器”条件的元素,

          $("input : not(.myClass)")选取样式名不是myClass的<input>;

        3.4 :even 、 :odd, 选取索引是偶数、奇数的元素 : $("input : even ") 选取索引是奇数的<input>;

        3.5 :eq(索引序号)、 :gt(索引序号)、 :lt(索引序号)选取索引等于、大于、小于索引序号的元素,比如$("input : lt(5)") 选取索引小于5的<input> ;

          $("tr:gt(1):lt(5)")组合选择器是按照表达式从前向后进行数据过滤;

        3.6 slice(start,end) 获取下标范围内元素;

    二、jQuery语法:

        1、ready方法:

    <script type = "text/javascript">
             //完整写法:为 document 对象 添加一个 ready 事件方法
            //在dom树加载完毕后执行
           $(document).ready(
                    function(){
                               alert("加载完毕!");
                    }); 
    
            $(
                      function(){
                             alert("加载完毕!");
               
                      });
             //和window.onload区别在于,window.onload要等页面每个资源加载完毕后才执行;
    
    </script>            

       

       2、基于dom操作:

    <script style="text/javascript">
    $(
                function () {
    
                    //1.1、使用html()方法读取或者设置元素的innerHTML;
                    //设置innerHTML
                    $("#div1").html("<p>hello jquery</p>");
                    //获取innerHTML
                    var dhStr = $("#div1").html();
                    console.info(dhStr);
    
                    //1.2、使用text()方法读取或者设置元素的innerText;
                    //设置innerText
                    $("#div1").text("hello jquery");
                    //获取innerText
                    var dtStr = $("#div1").text();
                    console.info(dtStr);
    
                    //1.3使用attr()方法读取或者设置元素的属性,对于jQuery没有封装的属性(所有浏览器没有差异的属性)用attr进行操作;
                    var imgSrc = $("#img1").attr("src"); //获取图片的src属性值;
                    $("#linkTo").attr("href", "http://www.baidu.com"); //设置 超链接的 href 属性值;
                    console.info(imgSrc);
    
                    //1.4 使用removeAttr("href")删除属性;
                    $("#linkTo").removeAttr("href");
    
                    //1.5 样式操作:操作dom元素的style属性;
                    $("#div1").css("color", "red"); //设置div1的style属性的背景颜色项;
                    var divBg = $("#div1").css("color"); //获取div1的style属性的背景颜色项;
                    console.info(divBg);
                });
    </script>

           2.1 dom操作栗子:

            a、链式编程:(因为很多jquery 方法直接返回 当前的 jquery对象,所以可以接着 . 出方法!)

              1. 不返回 jquery 对象的方法:val(),html(),text(),attr(),返回文本字符串;

              2. 返回新的jquery对象的方法:next() nextAll() parent() childern() prev()....

              3.剩下基本都是返回当前jquery对象;

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>基于dom操作</title>
        <style type="text/css">
            #divDemo {
                border: 1px solid #0094ff;
            }
        </style>
        <script src="../js/jquery-1.11.0.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                //1.根据ID得到一个jQuery对象
                var $jqDiv = $("#divDemo");
                //2.动态设置div的样式
                //$jqDiv.css("border", "1px solid #0094ff")
                //      .css("width","300px")
                //      .css("height","100px");
                //3.一次性设置多个样式
                //对象的自变量表示法,Json对象
                var cssObj = {
                    "border": "1px solid #0094ff",
                    "width": "300px",
                    "height": "100px",
                    "background-color": "red"
                };
                $jqDiv.css(cssObj);
                //4.设置dom元素的动画
                //创建一个按钮
                $("<input type='button' value='动画1' />").insertAfter($jqDiv)
                    .click(function () {
                        //$jqDiv.slideUp(3000); //将这个div慢慢的收起来;
                        $jqDiv.fadeOut(3000); //淡入;
                    });
                $("<input type='button' value='动画2' />").insertAfter($jqDiv)
                    .click(function () {
    
                        $jqDiv.fadeIn(3000); //淡出;
                    });
    
            });
        </script>
    
    </head>
    
    <body>
        <div id="divDemo">hello jquery</div>
    </body>
    
    </html>

        3、jQuery对象:

          

          

  • 相关阅读:
    0127 date dateformat calebdar
    0126 字符串缓冲区StringBuffer类 正则表达式
    0126 String类
    0125 java API object
    0125 匿名对象 内部类 包 代码块
    0123 final关键字,static 关键字
    0123 this关键字 super关键字
    0122面向对象 构造方法
    0122面向对象3 多态
    0120 面向对象2
  • 原文地址:https://www.cnblogs.com/chengshun/p/8491407.html
Copyright © 2011-2022 走看看