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             width:100px;
 10             height:200px;
 11             background-color: red;
 12         }
 13         .c2{
 14             height:50px;
 15             width: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>

 

posted @ 2018-06-05 16:39  C3的脚印  阅读(190)  评论(0编辑  收藏  举报