zoukankan      html  css  js  c++  java
  • jquery 快速入门二

    ---恢复内容开始---

    操作标签

    样式操作

    样式类

    addClass();//添加指定的CSS类名。
    removeClass();//移除指定的类名.
    hasClass();//判断样式不存在
    toggleClass();//切换css类名,如果有就移除,如果没有就添加

     示例:开关灯和模态框

    CSS

    css("color","red") //DOM操作:tag.style.color="red"

    示例:

    $("P").css("color","red");//将所有P标签的字体设置为红色
    原生DOM 修改css属性:
    var pEle =document.getElementById("p1")
    
    pEle.style.color="green"
    
    
    
    Jquery修改css属性
    
    $("#p1").css("color","red")


    $("#p1").css("font-size","24px") //设置属性得值


    $("#P1").CSS("font-size") //获取属性的值

    $("#P1").CSS({"border":"1px solid black","color":"blue"}) //同时设置多个属性的值

    位置:

    offset() //获取匹配元素在当前窗口的相对偏移或者设置
    例:$(".C3").offset() 获取
    例:$(".C3").OFFSET({top:284,left:400}) 设置

    position()//获取匹配元素相对父元素的偏移
    例:$(".C2").position() 获取 只能获取不能设置

    scrollTop()//获取匹配元素相对滚动条顶部得偏移

    例:$(window).scrollTop()
    srcollLeft()//获取匹配元素相对滚动条左侧的偏移

    .offset()方法允许我们检索一个元素的相对于文档(document)的当前位置。

    和.position()的差别在于: .position()是相对于父元素的位移

    示例:返回顶部示例

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <meta name="viewport" content="width=device-width, initial-scale=1">
      6     <title>位置相关示例之返回顶部</title>
      7     <style>
      8         .c1{
      9             100px;
     10             height:200px;
     11             background-color: red;
     12         }
     13         .c2{
     14             height:50px;
     15             50px;
     16             position: fixed;
     17             bottom:15px;
     18             right:15px;
     19             background-color: #2b669a;
     20         }
     21         .hide{
     22             display: none;
     23         }
     24         .c3{
     25             height: 100px;
     26         }
     27     </style>
     28 </head>
     29 <body>
     30 <button id="b1" class="btn btn-default">点我</button>
     31 <div class="c1"></div>
     32 <div class="c3">1</div>
     33 <div class="c3">2</div>
     34 <div class="c3">3</div>
     35 <div class="c3">4</div>
     36 <div class="c3">5</div>
     37 <div class="c3">6</div>
     38 <div class="c3">7</div>
     39 <div class="c3">8</div>
     40 <div class="c3">9</div>
     41 <div class="c3">10</div>
     42 <div class="c3">11</div>
     43 <div class="c3">12</div>
     44 <div class="c3">13</div>
     45 <div class="c3">14</div>
     46 <div class="c3">15</div>
     47 <div class="c3">16</div>
     48 <div class="c3">17</div>
     49 <div class="c3">18</div>
     50 <div class="c3">19</div>
     51 <div class="c3">20</div>
     52 <div class="c3">21/div>
     53 <div class="c3">22</div>
     54 <div class="c3">123/div>
     55 <div class="c3">24</div>
     56 <div class="c3">125</div>
     57 <div class="c3">126</div>
     58 <div class="c3">27</div>
     59 <div class="c3">28</div>
     60 <div class="c3">29</div>
     61 <div class="c3">30</div>
     62 <div class="c3">31</div>
     63 <div class="c3">32</div>
     64 <div class="c3">33</div>
     65 <div class="c3">34</div>
     66 <div class="c3">35</div>
     67 <div class="c3">36</div>
     68 <div class="c3">37</div>
     69 <div class="c3">38</div>
     70 <div class="c3">39</div>
     71 <div class="c3">39</div>
     72 <div class="c3">40</div>
     73 <div class="c3">41</div>
     74 <div class="c3">42</div>
     75 <div class="c3">43</div>
     76 <div class="c3">44</div>
     77 <div class="c3">45</div>
     78 <div class="c3">46</div>
     79 <div class="c3">47</div>
     80 <div class="c3">48</div>
     81 <div class="c3">49</div>
     82 <div class="c3">50</div>
     83 <div class="c3">51</div>
     84 <div class="c3">52</div>
     85 <div class="c3">53</div>
     86 <div class="c3">54</div>
     87 <div class="c3">55</div>
     88 <div class="c3">56</div>
     89 <div class="c3">57</div>
     90 <div class="c3">58</div>
     91 <div class="c3">59</div>
     92 <div class="c3">60</div>
     93 <div class="c3">61</div>
     94 <div class="c3">62</div>
     95 <div class="c3">63</div>
     96 <div class="c3">64</div>
     97 <div class="c3">65</div>
     98 <div class="c3">66</div>
     99 <div class="c3">67</div>
    100 <div class="c3">68</div>
    101 <div class="c3">69</div>
    102 <div class="c3">70</div>
    103 <div class="c3">71</div>
    104 <div class="c3">72</div>
    105 <div class="c3">73</div>
    106 <div class="c3">74</div>
    107 <div class="c3">75</div>
    108 <div class="c3">76</div>
    109 <div class="c3">77</div>
    110 <div class="c3">78</div>
    111 <div class="c3">79</div>
    112 <div class="c3">80</div>
    113 <div class="c3">81</div>
    114 <div class="c3">82</div>
    115 <div class="c3">83</div>
    116 <div class="c3">84</div>
    117 <div class="c3">85</div>
    118 <div class="c3">86</div>
    119 <div class="c3">87</div>
    120 <div class="c3">88</div>
    121 <div class="c3">89</div>
    122 <div class="c3">90</div>
    123 <div class="c3">91</div>
    124 <div class="c3">92</div>
    125 <div class="c3">93</div>
    126 <div class="c3">94</div>
    127 <div class="c3">95</div>
    128 <div class="c3">96</div>
    129 <div class="c3">97</div>
    130 <div class="c3">98</div>
    131 <div class="c3">99</div>
    132 <div class="c3">100</div>
    133 
    134 <button id="b2" class="btn btn-default c2 hide">返回顶部</button>
    135 <script src="jquery-3.3.1.min.js"></script>
    136 <script>
    137     $("#b1").on("click",function(){
    138         $(".c1").offset({left:200,top:200});
    139     });
    140     $(window).scroll(function(){
    141         if ($(window).scrollTop()>100){
    142             $("#b2").removeClass("hide");
    143         }else{
    144             $("#b2").addClass("hide");
    145         }
    146     });
    147     $("#b2").on("click",function(){
    148         $(window).scrollTop(0);
    149     });
    150 </script>
    151 </body>
    152 </html>
    View Code

    尺寸:

    height()
    width()
    innerHeight()  //内容+padding
    innerWidth()
    outerHeight()  //内容+padding+边框
    outerWidth()

    HTML代码

    html() //取得第一个匹配元素的HTML 内容
    //js取值:
    document.getElementById("d1").innerHTML ="<h1>注释是代码之母</h1>"

    //jquery方法
    $("#d1").html() 获取第一个html元素


    html(val)
    // 设置所有匹配元素的HTML内容
    $("#d1").html("<h1>永远不要高估自己!</h1>")  //设置html 里的元素
     

    文本值:

    text()//取得所有匹配元素的内容
    
    document.getElementById("d1").innerText =gay in gay out";
    # js方法
    

    jquery 方法 $(
    "#d1").text() //取得d1 标签的值 $("#d1").text("gay 里gay 气") #设置#d1里的标签的值 text(val) //设置所有匹配元素的内容

    值:

    val()  //取得第一个匹配元素的当前值
    例子;$("input[name='username']").val()
    val(val) //设置所有匹配元素的值
    例子:$("input[name='username']").val('egon dsd)
    val([val1,val2]) //设置checkbox,select 的值

     示例:获取被选中的checkbox 或radio 的值

    <label for =“c1”>女</label>
    <input name="gender" id="c1" type="radio" value="0">
    <label for="c2">男</labe>
    <input name="gender" id="c2" type="radio" value="1">


    可以使用
    $("input[name='gender']:checked").val()

    练习:自定义登录校验示例

     1 <!DOCTYPE html>
     2 <html lang="zh-CN">
     3 <head>
     4   <meta charset="UTF-8">
     5   <meta http-equiv="x-ua-compatible" content="IE=edge">
     6   <meta name="viewport" content="width=device-width, initial-scale=1">
     7   <title>文本操作之登录验证</title>
     8   <style>
     9     .error {
    10       color: red;
    11     }
    12   </style>
    13 </head>
    14 <body>
    15 
    16 <form action="">
    17   <div>
    18     <label for="input-name">用户名</label>
    19     <input type="text" id="input-name" name="name">
    20     <span class="error"></span>
    21   </div>
    22   <div>
    23     <label for="input-password">密码</label>
    24     <input type="password" id="input-password" name="password">
    25     <span class="error"></span>
    26   </div>
    27   <div>
    28     <input type="button" id="btn" value="提交">
    29   </div>
    30 </form>
    31 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    32 <script>
    33   $("#btn").click(function () {
    34     var username = $("#input-name").val();
    35     var password = $("#input-password").val();
    36 
    37     if (username.length === 0) {
    38       $("#input-name").siblings(".error").text("用户名不能为空");
    39     }
    40     if (password.length === 0) {
    41       $("#input-password").siblings(".error").text("密码不能为空");
    42     }
    43   })
    44 </script>
    45 </body>
    46 </html>
    View Code

    属性操作

    用于ID等于或自定义属性:

    attr(attrName) //返回第一个匹配元素的属性值
    例子:$("#d1").attr("s1")   //返回 s1 的值
    
    
    
    attribute(attrName, attrValue) //为所有匹配元素设置一个属性值
    例子:$("#d1").attr("s1","great")  //为s1设置属性值为great
    
    
    attr({k1:v1,k2:v2})// 为所有匹配元素设置多个属性值
    例子$("#d1").attr({"num":"50","tedian":"gay"})  //为d1 匹配多个属性值
    
    
    removeAttr() //从每一个匹配的元素中删除一个属性
    例子:$("#d1").removeAttr("tedian")  //删除d1中tedian属性

    用于checkbox 和radio

    prop()获取属性
    
    removeProp() // 移除属性

    注意:

    在1.x及2.x版本的jQuery中使用attr对checkbox进行赋值操作时会出bug,在3.x版本的jQuery中则没有这个问题。为了兼容性,我们在处理checkbox和radio的时候尽量使用特定的prop(),不要使用attr("checked", "checked")。

    <input type="checkbox" value="1">
    <input type="radio" value="2">
    <script>
      $(":checkbox[value='1']").prop("checked", true);
      $(":radio[value='2']").prop("checked", true);
    </script>

    示例, 全选,反选, 取消

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>全选反选取消练习</title>
     6 </head>
     7 <body>
     8 
     9 <button id="b1">全选</button>
    10 <button id="b2">取消</button>
    11 <button id="b3">反选</button>
    12 <table border="1">
    13     <thead>
    14     <tr>
    15         <th>#</th>
    16         <th>姓名</th>
    17         <th>爱好</th>
    18     </tr>
    19     </thead>
    20     <tbody>
    21     <tr>
    22         <td><input type="checkbox"></td>
    23         <td>Egon</td>
    24         <td>喊麦</td>
    25     </tr>
    26     <tr>
    27         <td><input type="checkbox"></td>
    28         <td>Alex</td>
    29         <td>吹牛逼</td>
    30     </tr>
    31     <tr>
    32         <td><input type="checkbox"></td>
    33         <td>Yuan</td>
    34         <td>不洗头</td>
    35     </tr>
    36     </tbody>
    37 </table>
    38 <script src="jquery-3.3.1.min.js"></script>
    39 <script>
    40     // 全选
    41     $("#b1").click(function () {
    42         // 让所有的checkbox选中
    43         $("table :checkbox").prop("checked", true)
    44     });
    45     // 取消
    46     $("#b2").click(function () {
    47         // 让所有的checkbox取消选中
    48         $("table :checkbox").prop("checked", false)
    49     });
    50     // 反选
    51     $("#b3").click(function () {
    52 //        // 找到没有选中的让它们选中
    53 //        $("table input:not(:checked)").prop("checked", true);
    54 //        // 找到所有选中的让它们取消选中
    55 //        $("table input:checked").prop("checked", false);
    56 
    57         // 方法1:循环
    58         var $checkboxs = $("table input:checkbox");
    59 //        for (let i=0;i<$checkboxs.length;i++){
    60 //            var $currentCheckbox = $($checkboxs[i]);
    61 //            if ($currentCheckbox.prop("checked")){
    62 //                // 如果之前是选中的
    63 //                $currentCheckbox.prop("checked", false);
    64 //            }else {
    65 //                // 之前没有选中
    66 //                $currentCheckbox.prop("checked", true);
    67 //            }
    68 //        }
    69 
    70         for (let i=0;i<$checkboxs.length;i++){
    71             var $currentCheckbox = $($checkboxs[i]);
    72             var flag = $currentCheckbox.prop("checked");
    73             $currentCheckbox.prop("checked", !flag)
    74         }
    75 
    76     });
    77 
    78 </script>
    79 </body>
    80 </html>
    View Code

    文档处理

    添加到指定元素内部后面

    $(A).append(B) //把B 追加到A的后面
    
    $(A).appendTo(B)  //把A追加到B的后面

    示例:

    var pEle = document.createElement("p");
    pEle.innerText = "qqqqqqq";
    
    
    $("#d1").append(pEle)   //把pEle追加到d1的后面
    ===>>相同于  $(pEle).appendTo($("#d1"))  //把pEle追加到d1 的后面

    添加到指定元素 内部前面

    $(A).prepend(B)           //把B前置到A
    
    $(A).prenpendTo(B)     // 把A 前置到B

    示例:

    var pEle = document.createElement("p");
    pEle.innerText = "qqqqqqq";
    
    $("#d1).prepend(pEle)       //把pEle 放到d1的前面
    ===>>相等于
    $("pEle").appendTo($("#d1"))  //把pEle放到d1 前面

    添加到指定元素外部前面:

     $(A).before(B)//把B放到A 的前面(外部)

    $(A).insertBefore(B) //把A放到B 的前面(外部)

    示例:

    var pEle = document.createElement("p");
    pEle.innerText = "qqqqqqq";
    
    
    $("#p1").before(pEle)   //把pEle追加到d1的前面
    ===>>相同于 
     $(pEle).inserBedore($("#p1"))  //把pEle追加到d1 的前面

     

     添加到置顶元素外部后面

    $(A).after(B) //把B放到A 后面
    
    $(A).insertAfter(B) // 把A放到B 的后面

     示例

    var pEle = document.createElement("p");
    pEle.innerText = "qqqqqqq";
    
    
    $("#p1").after(pEle)   //把pEle追加到d1的后面
    ===>>相同于 
     $(pEle).inserAfter($("#p1"))  //把pEle追加到d1 的后面

    移除和清空元素

    remove()// 从DOM 中删除所有匹配的元素
    
    
    
    empyt() // 删除匹配的元素集合中所有的子节点
    
    例子

    $("#d1").empty()

    替换

    replaceWith() 
    replaceAll()
    
    例子:
    var spanEle = document.createElement("span");
    spanEle.innerText = "呵呵";
    
    
    $(spanEle).replaceAll($("p"));   //把spanEle替换到 P标签

    克隆

    clone()//参数

    练习:点击复制按钮

    <!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>
        #b1 {
          background-color: deeppink;
          padding: 5px;
          color: white;
          margin: 5px;
        }
        #b2 {
          background-color: dodgerblue;
          padding: 5px;
          color: white;
          margin: 5px;
        }
      </style>
    </head>
    <body>
    
    <button id="b1">屠龙宝刀,点击就送</button>
    <hr>
    <button id="b2">屠龙宝刀,点击就送</button>
    
    <script src="jquery-3.2.1.min.js"></script>
    <script>
      // clone方法不加参数true,克隆标签但不克隆标签带的事件
      $("#b1").on("click", function () {
        $(this).clone().insertAfter(this);
      });
      // clone方法加参数true,克隆标签并且克隆标签带的事件
      $("#b2").on("click", function () {
        $(this).clone(true).insertAfter(this);
      });
    </script>
    </body>
    </html>
  • 相关阅读:
    [LeetCode] 1081. Smallest Subsequence of Distinct Characters 不同字符的最小子序列
    [LeetCode] 1080. Insufficient Nodes in Root to Leaf Paths 根到叶路径上的不足节点
    [LeetCode] 1079. Letter Tile Possibilities 活字印刷
    [LeetCode] 1078. Occurrences After Bigram 双元语法分词
    [LeetCode] 1074. Number of Submatrices That Sum to Target 元素和为目标值的子矩阵数量
    [LeetCode] 1073. Adding Two Negabinary Numbers 负二进制数相加
    [LeetCode] 1072. Flip Columns For Maximum Number of Equal Rows 按列翻转得到最大值等行数
    [LeetCode] 1071. Greatest Common Divisor of Strings 字符串的最大公因子
    [LeetCode] 1054. Distant Barcodes 距离相等的条形码
    [LeetCode] 1053. Previous Permutation With One Swap 交换一次的先前全排列
  • 原文地址:https://www.cnblogs.com/lx3822/p/9140517.html
Copyright © 2011-2022 走看看