• jQuery基础知识


    1 什么是jQuery

    一个js插件, 相比较原生的DOM操作更简单、开发效率更高

    2 jQuery的使用

    1.先导入后使用
    2.可以把jQuery.js下载到本地导入来使用,也可以不用下载使用CDN来在线使用。
    什么是CDN,全称内容分发网络,好比我们在京东买东西,下单后由京东分布在全国的几个存储物流仓发货,所以速度快,CDN就是网上的内容服务商来分发内容。

    3 jQuery对象和DOM对象

    jQuery对象才能调用jQuery的方法,DOM对象只能调用DOM方法,不能乱调,二者可以相互转换。

    代码块
     jQuery对象 --> DOM对象:$("div")  --> $("div")[0]
    
    DOM对象    --> jQuery对象: this      --> $(this)
    						
    

    4 : jQuery语法

    $("选择器").方法()
    支持链式操作

    4-1:基本选择器

    代码块
    1. $("div")  根据标签名
    2. $("#d1") 根据ID
    3. $(".c1")  根据class
    4. $("*")    通用选择器
    

    4-2组合选择器

    代码块
    $("div, .c1")      --> 找到所有div标签和有c1样式类的标签
    

    4-3 层级选择器

    代码块
    $("#d1 span")      --> id是d1标签里面所有的span标签
    2. $("#d1>span")      --> id是d1标签里面一层的span标签
    3. $("label+input")   --> 找到紧挨着label标签的input标签
    4. $(".c1~div")       --> 找到c1样式类下面的div标签
    

    4-4 基本筛选器

    代码块
    1. :first/:last
    2. :eq()/大于:gt()/小于:lt()
    3. :even偶数/:odd奇数
    4. $("div:not(.c1)")  --> 找到没有c1样式类的div标签
    5. $("div:has(.c1)")  --> 找到后代中有c1样式类的后代div标签
    

    4-5 属性选择器

    代码块
    $("[s14]")
    $("[type='text']")
     $("[type!='text']")
    

    4-6 表单选择器

    代码块
    $(":text")
     $(":password")
    
     $(":disabled")
     $("input:checked")
     $(":selected")
    

    4-7:筛选器方法

    代码块
    . .next()/.prev()
     .parent()/.children()/.siblings()
    .find('选择器条件')      --> 在后代查找符合要求的
    .filter('选择器条件')    --> 根据条件对已经找到的结果进行二次过滤
    .first()/.last()
     .not()/.has()
     .eq()
    

    5 jQuery操作样式

    5-1 获取css属性,修改css属性,设置新的属性

    代码块
    利用jQuery获取元素标签:$('.c1');
    
    查看css属性颜色:$('.c1').css('color')
    
    查看css属性字体大小: $('.c1').css('font-size')
    
    设置颜色为红色,字体大小为30px:$('.c1').css({'color':'red','font-size':'30px'})
    

    5-2 位置相关的获取与修改

    代码块
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
     	body{
    		margin:0;}
    	.c1{
    		100px;
    		height:100px;
    		background-color:red;
    		position:relative;
    		left:100px;}
    		
    	.c2{
    		100px;
    		height:100px;
    		background-color:yellow;
    		position:absolute;
    		top:100px;
    		left:100px;}
    </style>
    </head>
    <body>
    
    <div class="c1">
    	<div class='c2'></div>
    
    </div>
    
    <script src="jquery-3.4.1.min.js"></script>
    </body>
    </html>
    
    
    代码块
    1.获取class为c2相对浏览器的位置:$('.c2').offset();
    {top: 100, left: 200}
    
    2.获取class为c2相对父标签c1的位置:$('.c2').position();
    {top: 100, left: 100}
    
    括号里面添加参数可以修改位置
    

    5-3 返回顶部的例子:

    代码块
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
     
     .c3 {
          height: 100px;
    	  100px;
    	  background-color:red;
    	
        }
    	.c2 {
          height: 50px;
           50px;
    
          position: fixed;
          bottom: 15px;
          right: 15px;
          background-color: #2b669a;
        }
    .hide {
          display: none;
    </style>
    </head>
    <body>
    
    <div class="c1"></div>
    <div class="c3">1</div>
    <div class="c3">2</div>
    <div class="c3">3</div>
    <div class="c3">4</div>
    <div class="c3">5</div>
    <div class="c3">6</div>
    <div class="c3">7</div>
    <div class="c3">8</div>
    <div class="c3">9</div>
    <div class="c3">10</div>
    <div class="c3">11</div>
    <div class="c3">12</div>
    <div class="c3">13</div>
    <div class="c3">14</div>
    <div class="c3">15</div>
    <div class="c3">16</div>
    <div class="c3">17</div>
    <div class="c3">18</div>
    <div class="c3">19</div>
    <div class="c3">20</div>
    <div class="c3">21</div>
    <div class="c3">22</div>
    <div class="c3">23</div>
    <div class="c3">24</div>
    <div class="c3">25</div>
    <div class="c3">26</div>
    <div class="c3">27</div>
    <div class="c3">28</div>
    <div class="c3">29</div>
    <div class="c3">30</div>
    <div class="c3">31</div>
    <div class="c3">32</div>
    <div class="c3">33</div>
    <div class="c3">34</div>
    <div class="c3">35</div>
    <div class="c3">36</div>
    <div class="c3">37</div>
    <div class="c3">38</div>
    <div class="c3">39</div>
    <div class="c3">40</div>
    <div class="c3">41</div>
    <div class="c3">42</div>
    <div class="c3">43</div>
    <div class="c3">44</div>
    <div class="c3">45</div>
    <div class="c3">46</div>
    <div class="c3">47</div>
    <div class="c3">48</div>
    <div class="c3">49</div>
    <div class="c3">50</div>
    <div class="c3">51</div>
    <div class="c3">52</div>
    <div class="c3">53</div>
    <div class="c3">54</div>
    <div class="c3">55</div>
    <div class="c3">56</div>
    <div class="c3">57</div>
    <div class="c3">58</div>
    <div class="c3">59</div>
    <div class="c3">60</div>
    <div class="c3">61</div>
    <div class="c3">62</div>
    <div class="c3">63</div>
    <div class="c3">64</div>
    <div class="c3">65</div>
    <div class="c3">66</div>
    <div class="c3">67</div>
    <div class="c3">68</div>
    <div class="c3">69</div>
    <div class="c3">70</div>
    <div class="c3">71</div>
    <div class="c3">72</div>
    <div class="c3">73</div>
    <div class="c3">74</div>
    <div class="c3">75</div>
    <div class="c3">76</div>
    <div class="c3">77</div>
    <div class="c3">78</div>
    <div class="c3">79</div>
    <div class="c3">80</div>
    <div class="c3">81</div>
    <div class="c3">82</div>
    <div class="c3">83</div>
    <div class="c3">84</div>
    <div class="c3">85</div>
    <div class="c3">86</div>
    <div class="c3">87</div>
    <div class="c3">88</div>
    <div class="c3">89</div>
    <div class="c3">90</div>
    <div class="c3">91</div>
    <div class="c3">92</div>
    <div class="c3">93</div>
    <div class="c3">94</div>
    <div class="c3">95</div>
    <div class="c3">96</div>
    <div class="c3">97</div>
    <div class="c3">98</div>
    <div class="c3">99</div>
    <div class="c3">100</div>
    
    <button id="b2" class="btn btn-default c2 hide">返回顶部</button>
    
    
    <script src="jquery-3.4.1.min.js"></script>
    <script> $(window).scroll(function () {
        if ($(window).scrollTop() > 100) {
          $("#b2").removeClass("hide");
        }else {
          $("#b2").addClass("hide");
        }
      });
      
       $("#b2").on("click", function () {
        $(window).scrollTop(0);
      })
      </script>
    </body>
    </html>
    
    

    5-4:获取表单的值,和修改表单的值

    代码块
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="content-Type" charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <title>Title</title>
    </head>
    <body>
    
    <div id="d0">
        <div>div的文本
            <p>p标签的文本<span>呵呵哒~</span></p>
        </div>
    </div>
    
    <input type="text" id="i1">
    
    <select  id="s1">
        <option value="1">111</option>
        <option value="2">222</option>
        <option value="3">333</option>
    </select>
    
    <textarea id="t1" cols="30" rows="10"></textarea>
    
    <hr>
    <label for="c1">女</label>
    <input name="gender" id="c1" type="radio" value="0">
    <label for="c2">男</label>
    <input name="gender" id="c2" type="radio" value="1">
    
    <hr>
    <label for="d1">篮球</label>
    <input id="d1" type="checkbox" value="basketball" name="hobby">
    <label for="d2">足球</label>
    <input id="d2" type="checkbox" value="football" name="hobby">
    <label for="d3">双色球</label>
    <input id="d3" type="checkbox" value="doublecolorball" name="hobby">
    
    <script src='../../jquery-3.4.1.min.js'></script>
    </body>
    </html>
    
    代码块
    获取input=text文本框的值:$('#i1').val();
    修改input=text文本框的值:$('#i1').val('哪吒');
    
    获取select下拉列表框的值:$('#s1').val();
    修改select下拉列表框的值:$('#s1').val('杭州');
    
    获取textarea文本框的值:$('#t1').val();
    获取textarea文本框的值:$('#t1').val('明天我要嫁人了');
    
    获取radio选中的value:$('input[name="gender"]:checked').val();
    
    获取多选框的值:$('input[name="hobby"]:checked').val();
    
    

    6 自定义登陆验证

    代码块
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="x-ua-compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>文本操作之登录验证</title>
      <style>
        .error {
          color: red;
        }
      </style>
    </head>
    <body>
    
    <form action="">
      <div>
        <label for="input-name">用户名</label>
        <input type="text" id="input-name" name="name">
        <span class="error"></span>
      </div>
      <div>
        <label for="input-password">密码</label>
        <input type="password" id="input-password" name="password">
        <span class="error"></span>
      </div>
      <div>
        <input type="button" id="btn" value="提交">
      </div>
    </form>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script>
      $("#btn").click(function () {
        var username = $("#input-name").val();
        var password = $("#input-password").val();
    
        if (username.length === 0) {
          $("#input-name").siblings(".error").text("用户名不能为空");
        }
        if (password.length === 0) {
          $("#input-password").siblings(".error").text("密码不能为空");
        }
      })
    </script>
    </body>
    </html>
    

    7 获取属性值和设置属性值

    代码块
    获取属性值:$('#d1').attr('s14');
    修改属性值:$('#d1').attr('s14','hello');
    删除属性:$('#d1').removeAttr('s14');
    
    查看是否被选中:$('#i1').prop('checked');
    
    

    8 绑定事件的方式

    代码块
    第一种方式:
    var b1Ele = document.getElementById("b1");
        b1Ele.onclick=function (ev) {
            alert(123)
        };
    
    第二种方式:
        $("#b1").click(function () {
            alert(123);
        });
    
    
  • 相关阅读:
    在C++中使用GDI+绘制带箭头的线,箭头大小可调
    tomcat通过conf-Catalina-localhost目录发布项目详解
    VC++ 获取Windows系统标准字体方法
    简单实现全屏对话框
    采用ATL实现无模板对话框的显示
    C++实现全局鼠标、键盘消息hook,支持事件
    C++ FastDelegate 扩展,实现与.net类似的事件处理功能
    技术研发在国内的现状
    [STM32F103]DMA原理
    [STM32F103]RTC日历
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12489987.html
Copyright © 2020-2023  润新知