zoukankan      html  css  js  c++  java
  • Jquery的入门(一)

    Jquery介绍

      Jquery是一个快速,简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或者是JavaScirpt框架),Jquery设计的宗旨是:write less,Do More 即倡导写更少的代码,做更多的事情.

    它封装饿了JavaScirpt常用的功能代码,提供了一种渐变的javascript设计模式,优化HTML文档操作,事件处理,动画设计和AJAX交互,Jquery实现了跨越浏览器,开发者不需要关注浏览器的兼容性了,但是从2.0开始,不再兼容IE6.7.8

    Jquery的基本使用方式

      页面中引入Jquery文件

    <script src="js/jquery-3.3.1.min.js" type="text/javascript">
    </script>

    首先调用jQuery中的核心函数,函数的名就是jquery,在此函数的参数中传递匿名函数,这个匿名函数将在页面加载完成后执行,同时函数名jquery可以简写为$.

    同时$也是jquery中的选择器,可以查找页面中的标签元素.

    <sctipt type="text/javascript">
     jQuery(function(){
       alert("jquery!");
     });
     $(function(){
       alert("jquery!!");
     })
    </sctipt>

    DOM对象转成JQuery对象

    Dom对象和jquery对象相互是不通用的,也就是说document.gtxxx()获取到的元素,属于DOM对象,只能调用Dom对象中提供的方法和属性.而使用$("xx")获取到的元素属于JQuery对象,只能调用Jquery对象的方法.

    <script type="text/javascript">
     function fn() {
       var name = document.getElementById("name");
       //dom对象属性
       alert(name.value);
       //jQuery对象函数
       var $name = $("#name");
       alert($name.val());
     }
    </script>

    将DOM对象转成jquery对象,使用$包裹即可.

    var $jquery = $(dom对象);

    jquery对象转成DOM对象

    jquery对象的本质是数组,而数组中的每个元素是DOM对象,将jquery对象转成DOM对象,使用数组的素银,取出数组中的元素即可.

    var dom = $jquery[0];

    jquery选择器

    jquery的选择器与css的选择器的作用是完全一样的,目的是精确快速的定位到某个html元素上并获取该元素对象,进而使用jquery的方法对该html进行操作.

    jquery常用的选择器有如下几个:基本选择器,基本过滤选择器.属性选择器,表单属性选择器.层级选择器等.

    基本选择器

    标签选择器(元素选择器):$("html标签名")

    id选择器;$("#id的属性值")

    类选择器:$(".class的属性值")

    <script type="text/javascript">
    //<input type="button" value="改变 id 为 one 的元素的背景色为 红色"
    id="b1"/>
     //id选择器找到id值为b1的按钮,绑定点击事件
     $("#b1").click(function(){
    //id选择器为one的标签,jquery的css方法设置样式
    $("#one").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变元素名为 <div> 的所有元素的背景色
    为 红色" id="b2"/>
     //id选择器b2的按钮,绑定点击事件
     $("#b2").click(function(){
     //获取所有div标签,使用标签选择器
     $("div").css("background-color","#FF0000");
    });
     //<input type="button" value=" 改变 class 为 mini 的所有元素的背景色
    为 红色" id="b3"/>
     $("#b3").click(function(){
    //class选择器,选择class为mini
    $(".mini").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变所有的<span>元素和 id 为 two
    的元素的背景色为红色" id="b4"/>
    $("#b4").click(function(){
     //获取标签span,和id值是two的元素
     //多选择器逗号分割
     $("span,#two").css("background-color","#FF0000");
    });
    </script>

    层级选择器

    获得A元素内部的所有的B元素:$("A B ") --- 后代选择器
    获得A元素下面的所有B子元素:$("A > B")
    获得A元素同级下一个B元素:$("A + B")
    获得A元素同级所有后面B元素:$("A ~ B")

    <script type="text/javascript">
     //<input type="button" value=" 改变 <body> 内所有 <div> 的背景色为
    红色" id="b1"/>
     $("#b1").click(function(){
     //选择所有body的后代div标签,层级选择器 
     $("body div").css("background-color","#FF0000");
     })
     //<input type="button" value=" 改变 <body> 内子 <div> 的背景色为
    红色" id="b2"/>
    $("#b2").click(function(){
     //选择body的子标签div
     $("body>div").css("background-color","#FF0000");
    });
    //<input type="button" value=" 改变 id 为 one 的下一个 <div> 的
    背景色为 红色" id="b3"/>
    $("#b3").click(function(){
     //id为one的下一个div
     $("#one+div").css("background-color","#FF0000");
    });
    //<input type="button" value=" 改变id为two 的元素后面的所有兄弟<div>的元素的
    背景色为 红色" id="b4"/>
    $("#b4").click(function(){
     //id为two后的所有兄弟div
     $("#two~div").css("background-color","#FF0000");
    });
    //<input type="button" value=" 改变 id 为 two 的元素所有 <div> 兄弟元
    素的背景色为红色" id="b5"/>
    $("#b5").click(function(){
    //siblings方法,选择所有的同级标签
    //$("#two").siblings().css("background-color","#FF0000");
    //siblings方法继续选择
    $("#two").siblings("div").css("background-
    color","#FF0000");
    });
    </script>

    属性选择器

    获得有属性名的元素:$("A[属性名]")
    获得属性名 等于 值 元素:$("A[属性名=值]")
    复合属性选择器,多个属性同时过滤:$("A[属性名!=值][属性名!=值][属性名!=值]")

    <script type="text/javascript">
    //<input type="button" value=" 含有属性title 的div元素背景色为红
    色" id="b1"/>
    $("#b1").click(function(){
    //属性选择器,选择带有title
    $("div[title]").css("background-color","#FF0000");
    });
    // <input type="button" value=" 属性title值等于test的div元素背景色
    为红色" id="b2"/>
    $("#b2").click(function(){
     //获取属性值是test的元素
     $("div[title='test']").css("background-
    color","#FF0000");
    });
    // <input type="button" value="选取有属性id的div元素,然后在结果中
    选取属性title值是“tees”的 div 元素背景色为红色" id="b3"/>
    $("#b3").click(function(){
    //有id属性,并且title属性值是test
    $("div[id][title='tees']").css("background-
    color","#FF0000");
    });
    </script>

    基本过滤选择器

    不包括指定内容的元素例如: :not(selecter)
    偶数,从 0 开始计数: :even
    奇数,从 0 开始技术: :odd
    指定第几个: :eq(index)
    大于n个: :gt(index)
    小于n个: :lt(index)
    获得标题 ( <h1> /<h2> .... ) :header --- 固定写法
    获得动画的 :animated ---固定写法 正在执行的动画

    <script type="text/javascript">
    // <input type="button" value=" 改变class不为 one 的所有 div 元素的背景色为
    红色" id="b1"/>
     $("#b1").click(function(){
     $("div:not(.one)").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变索引值为偶数的 div 元素的背景色为 红色"
    id="b2"/>
     $("#b2").click(function(){
     $("div:even").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变索引值为奇数的 div 元素的背景色为 红色"
    id="b3"/>
     $("#b3").click(function(){
     $("div:odd").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变索引值为大于 3 的 div 元素的背景色为 红
    色" id="b4"/>
     $("#b4").click(function(){
     $("div:gt(3)").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变索引值为等于 3 的 div 元素的背景色为 红
    色" id="b5"/>
     $("#b5").click(function(){
     $("div:eq(3)").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变索引值为小于 3 的 div 元素的背景色为 红
    色" id="b6"/>
     $("#b6").click(function(){
     $("div:lt(3)").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变所有的标题元素的背景色为 红色"
    id="b7"/>
     $("#b7").click(function(){
     $(":header").css("background-color","#FF0000");
    });
    // <input type="button" value=" 改变当前正在执行动画的所有元素的背景色为 红
    色" id="b8"/>
    $("#b8").click(function(){
     $(":animated").css("background-color","#FF0000");
    });
     function moveFn(){
     //div向上滑动, slideUp方法,slideToggle方法
    $("#mover").slideToggle("slow",function(){
    moveFn();
    });
    }
     moveFn();
    </script>

    表单属性选择器

    可用: :enabled
    不可用: :disabled
    选中(单选radio ,多选checkbox): :checked
    选择(下列列表 <select> ): :selected

    <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用
    <input> 元素的值"  id="b1"/>
     $("#b1").click(function(){
     //获取多个input标签属性值是 enabled, type属性值是text 返回数组
     var $inputs = $("input[type='text']:enabled");
     for(var i=0;i<$inputs.length;i++){
    //把数组中的DOM对象变成Jquery对象,调用方法val()
    alert($($inputs[i]).val());
    }
    });
    // <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可
    用 <input> 元素的值" id="b2"/>
     $("#b2").click(function(){
     //获取多个input标签属性值是disabled,返回数组
     var $inputs = $("input[type='text']:disabled");
     for(var i=0;i<$inputs.length;i++){
    //把数组中的DOM对象变成Jquery对象,调用方法val()
    alert($($inputs[i]).val());
    }
    });
    // <input type="button" value=" 利用 jQuery 对象的 length 属性获取多选框选
    中的个数" id="b3"/>
    $("#b3").click(function(){
     var $inputs = $("input[type='checkbox']:checked");
     alert($inputs.length);
    });
    // <input type="button" value=" 利用 jQuery 对象的 text() 方法获取下拉框选
    中的内容" id="b4"/>
    /*
    * html()==DOM对象的innerHTML
    * text()==DOM对象的innerText
    */
    $("#b4").click(function(){
     var $inputs = $("option:selected");
     for(var i=0;i<$inputs.length;i++){
     alert($($inputs[i]).text());
     }
    });

    jQuery的DOM方法操作

    文本/值操作:html(),text(),val()

    html() === innerHTML
    text() === innerText
    val() === value
    html text val 传递参数代表赋值 空参代表获取

    <script type="text/javascript">
    //页面加载完成
    $(function(){
    //获取张三
    alert($("#myinput").val());
    //获取标题文本
    alert($("#mydiv").text());
    //获取mydiv的后的所有内容
    alert($("#mydiv").html());
    });
    </script>

    属性操作:attr(),prop()

    attr() === setAttribute和getAttribute
    attr(属性名称); --- 获取属性的值
    attr(属性名称,属性值) --- 设置的属性的值

    <script type="text/javascript">
    //获取北京节点的name属性值
        alert($("#bj").attr("name"));
    //设置北京节点的name属性的值为dabeijing
    $("#bj").attr("name","dabeijing");
    //新增北京节点的discription属性 属性值是didu
    $("#bj").attr("discription","didu");
    //删除北京节点的name属性并检验name属性是否存在
    $("#bj").removeAttr("name");
    //获得hobby的的选中状态
    alert($("#hobby").prop("checked"));
    /*
    * JQuery1.6版本后的方法prop
    * checked,selected使用prop 单属性
    * 其他属性使用attr
    */
    </script>

    css操作:addClass(),removeClass(),css()
    addClass(值) === attr(“class”,值)
    removeClass(class值) === removeAttr(“class值”)
    css() ==== js对象.style.属性
    css(css属性名) 获取css属性名称对应值
    css(css属性名,值) 设置css样式

    <script type="text/javascript">
    //<input type="button" value="采用属性增加样式(改变id=one的样式)"
    id="b1"/>
    $("#b1").click(function(){
     $("#one").attr("class","second");
    });
    //<input type="button" value=" addClass" id="b2"/>
     $("#b2").click(function(){
     $("#one").addClass("second");
    });

    //<input type="button" value="removeClass" id="b3"/>
     $("#b3").click(function(){
     $("#one").removeClass();
    });
    //<input type="button" value=" 切换样式" id="b4"/>
     $("#b4").click(function(){
     //toggleClass切换样式方法,如果没有样式,设置样式second,如果存在
    second样式,则还原
     $("#one").toggleClass("second");
    });
    //<input type="button" value=" 通过css()获得id为one背景颜色"
    id="b5"/>
     $("#b5").click(function(){
     alert($("#one").css("background-color"));
    });
    // <input type="button" value=" 通过css()设置id为one背景颜色为绿
    色" id="b6"/>
    $("#b6").click(function(){
     $("#one").css("background-color","#00FF00");
    });
    </script>

     

    元素创建/内部插入
    $( "<li></li>" )创建标签li
    append() 追加子节点
    prepend() 追加子节点,在最前
    remove() 移除节点
    empty() 清空所有子节点

    <script type="text/javascript">
    /**将反恐放置到city的后面*/
    $("#city").append($("#fk"));
    /**将反恐放置到city的最前面*/
    $("#city").prepend($("#fk"));
    //删除<li id="bj" name="beijing">北京</li>
      $("#bj").remove();
      //删除所有的子节点  清空元素中的所有后代节点(不包含属性节点).
      $("#city").empty();
      //测试(id='city')并没有被删除
    </script>

    jquery的效果 

    元素的显示与隐藏
    show(speed ,fn) 显示参数 speed,显示速度,单位:毫秒。固定字符串:slow, normal, or
    fast参数 fn,显示成功之后回调函数。
    hide() 隐藏
    toggle() 切换
    元素的滑动显示与隐藏
    slideDown() 显示,高度变大。
    slideUp() 隐藏,高度变小。
    slideToggle() 切换
    元素的淡入淡出的显示与隐藏
    fadeIn() 显示
    fadeOut() 隐藏
    fadeToggle() 切换
    表格隔行变色案例

    <script type="text/javascript">
    $(function(){
    $("tr:gt(1):even").css("background-color","#CC66FF");
    $("tr:gt(1):odd").css("background-color","#CC6600");
    });
    </script>

    全选和全不选案例

    <script type="text/javascript">
    function selectAll(obj){
    $("input[class='itemSelect']").prop("checked",$(obj).prop("checked"));
    }
    </script>

    定时广告案例

    <script type="text/javascript">
    $(function(){
    setTimeout(function(){
    //$("#adDiv").css("display","block");
    $("#adDiv").slideDown(3000);
    },3000);
    setTimeout(function(){
    //$("#adDiv").css("display","none");
    $("#adDiv").slideUp(3000);
    },8000);
    });
    </script>
  • 相关阅读:
    InitializingBean
    执行jar的记事本
    vue中$forceUpdate()事件
    帆软时间检索限制90天
    vue清楚子组件v-model绑定的值
    Intellij IDEA中启动多个微服务(开启Run Dashboard管理)
    Java将CST的时间字符串转换成需要的日期格式字符串
    axios发送命令如何实现同步
    利用tomcat启动web前端
    vue生命周期
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11127925.html
Copyright © 2011-2022 走看看