标签操作

昨日内容回顾

jQuery

jQuery引入

1  <script src="jquery.js"></script>
2  <script>jquery代码+js</script>

jQuery选择器

基础选择器

1  $('#id值')
2  $('.类值')
3  $('div')
4  $('*')
5  $('div,p')

层级选择器

1  $('div p')
2  $('div.p')
3  $('div+p')
4  $('div>a')
5  $('div~a')

基本筛选器

1  :first
2  :last
3  :eq(索引)
4  :odd 索引为奇数的
5  :even 索引为偶数的
6  :gt(索引) 大于某个索引的那些元素
7  :lt(索引) 小于指定索引的
8  :not('选择器')  排错满足这个选择器的那些标签
9  :has('选择器')  找到后代中有满足这个选择器的标签

 

属性选择器

1  [属性名]
2  [属性名=属性值]
3  [属性名!=属性值]
4  input[type=text]

 

表单筛选器

1  :text  input type=text 的input标签
2  :password
3  ...

 

表单对象属性筛选器

1  :enabled
2  :disabled
3  :checked
4  :selected

 

筛选器方法

 1  下一个:
 2      .next()
 3      .nextAll()
 4      .nextUntil('选择器')
 5  上一个
 6      .prev()
 7      .prevAll()
 8      .prenUntil('选择器')
 9  父级
10      .parent()
11      .parents()
12      .parentsUntil('选择器')
13 14  儿子和兄弟
15      .children()  所有的儿子
16      .children('选择器')
17      
18      .siblings()  所有兄弟标签
19      .siblings('选择器')
20  filter过滤
21      $('div').filter('选择器')  
22  find() 找后代的
23      $('div').find('#d1')
24      
25  .first()
26  .last()
27  ...
28  

 

今日内容

标签操作

样式操作

样式类操作

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

 

1 示例代码
2     $('.c1').addClass('c2');
3     $('.c1').addClass('c2');
4     $('.c1').hasClass('c2');
5     $('.c1').toggleClass('c2');

 

css样式

1 原生js
2     标签.style.color = 'red';
3 jquery
4     $('.c1').css('background-color','red');  
5     同时设置多个css样式
6     $('.c1').css({'background-color':'yellow','width':'200px'})

 

位置操作

1 查看位置
2 $('.c2').position();  //查看相对位置 
3     {top: 20, left: 20}
4 $('.c2').offset();    //查看距离窗口左上角的绝对位置
5     {top: 28, left: 28}
6 设置位置
7     $('.c2').offset({'top':'20','left':'40'});
8     
9  

 

jQuery绑定点击事件的写法

1 原生js绑定点击事件
2     // $('.c1')[0].onclick = function () {
3     //     this.style.backgroundColor = 'green';
4     // }
5 jquery绑定点击事件
6     $('.c1').click(function () {
7         $(this).css('background-color','green');
8    })

 

点击事件和滚动事件的示例代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .c1{
 8             background-color: red;
 9             height: 100px;
10             width: 100px;
11         }
12         .c2{
13             background-color: green;
14             height: 1000px;
15             width: 100px;
16         }
17         .c3{
18             background-color: blue;
19             height: 1000px;
20             width: 100px;
21         }
22         .s1{
23             position: fixed;
24             left:20px;
25             bottom: 20px;
26             height: 40px;
27             width: 80px;
28             background-color: purple;
29             line-height: 40px;
30             text-align: center;
31 
32         }
33         .s1 a{
34             color: white;
35             font-size: 14px;
36             text-decoration: none;
37         }
38         .hide{
39             display: none;
40         }
41 
42 
43     </style>
44 </head>
45 <body>
46 <!--<a name="top">这里是顶部</a>-->
47 <!--<a>这里是顶部</a>-->
48 <span>顶部位置</span>
49 <div class="c1"></div>
50 
51 <button class="change-postion">走你</button>
52 
53 <div class="c2"></div>
54 <div class="c3"></div>
55 
56 <span class="s1 hide">
57     <!--<a href="#top">返回顶部</a>-->
58     <span>返回顶部</span>
59 
60 </span>
61 
62 
63 <script src="jquery.js"></script>
64 <script>
65     //点击事件来改变标签位置
66     $('.change-postion').click(function () {
67         $('.c1').offset({top:200,left:200});
68     });
69     
70     //滚动事件,监听滚动距离来显示或者隐藏标签
71     $(window).scroll(function () {
72         console.log($(window).scrollTop());
73         if ($(window).scrollTop() >=200){
74             $('.s1').removeClass('hide');
75         }else {
76             $('.s1').addClass('hide');
77         }
78     });
79     
80     // 回到顶部,scrollTop设置值
81     $('.s1').click(function () {
82         $(window).scrollTop(0);
83     })
84 
85 </script>
86 
87 </body>
88 </html>

 

尺寸

 1 $('.c1').height();  //content 高度
 2 $('.c1').width();   //content 宽度
 3 $('.c1').innerHeight();//content高度+padding高度
 4 $('.c1').innerWidth(); //content宽度+padding宽度
 5 $('.c1').outerHeight();//content高度+padding高度 + border高度
 6 $('.c1').outerWidth();//content宽度+padding宽度+ border宽度
 7 
 8 
 9 示例:
10 <!DOCTYPE html>
11 <html lang="en">
12 <head>
13     <meta charset="UTF-8">
14     <title>Title</title>
15     <style>
16         .c1{
17             width: 100px;
18             height: 100px;
19             border: 2px solid red;
20             background-color: green;
21             padding: 20px 30px;
22         }
23     </style>
24 </head>
25 <body>
26 <div class="c1"></div>
27 
28 <script src="jquery.js"></script>
29 </body>
30 </html>
31  

 

文本操作

1 html()//取得第一个匹配元素的html内容,包含标签内容
2 html(val)//设置所有匹配元素的html内容,识别标签,能够表现出标签的效果
3 
4 text()// 取得所有匹配元素的内容,只有文本内容,没有标签
5 text(val)//设置所有匹配元素的内容,不识别标签,将标签作为文本插入进去
6 示例:
7 $('.c1').text('<h3>你好,太白</h3>');
8 $('.c1').html('<h3>你好,太白</h3>');

 

值操作

 1 获取值
 2     input type='text'的标签--$('#username').val();
 3     input type='radio'标签获取被选中的标签的值 --- $(':radio:checked').val();
 4     input type='checkbox'标签获取被选中的标签的值 --- 直接$(':checkbox:checked').val();是不行的,需要循环取值  
 5         var d = $(':checkbox:checked');
 6         for (var i=0;i<d.length;i++){
 7             console.log(d.eq(i).val());
 8         }
 9         
10     单选select --- $('#city').val();
11     多选select --- $('#author').val(); // ["2", "3"]    
12 
13 设置值
14     input type='text'的标签 --- $('#username').val('李杰');
15     input type='radio'标签 ---  $('[name="sex"]').val(['3']);
16             如果 $('[name="sex"]').val('3'),所有标签的值都变成了'3';
17     input type='checkbox'设置值 --- $('[name="hobby"]').val(['2','3'])
18     单选select --- $('#city').val('1');  option value='1'
19     多选select --- $('#author').val(['2','3'])
20     
21  

 

属性操作

 1 attr(attrName)// 返回第一个匹配元素的属性值
 2 attr(attrName, attrValue)// 为所有匹配元素设置一个属性值
 3 attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值
 4 removeAttr(attrName)// 从每一个匹配的元素中删除一个属性
 5 
 6 示例:
 7     设置单个属性
 8         $('.c1').attr('xx','oo');
 9     设置多个属性
10         $('.c1').attr({'age':'18','sex':'alex'});
11     查看属性
12         $('.c1').attr('属性名');
13         $('.c1').attr('xx');
14     删除属性
15         $('.c1').removeAttr('xx');
16 
17 prop -- 针对的是checked\selected\disabled..
18 
19 查看标签是否有checked属性,也就是是否被选中
20         attr $(':checked').attr('checked'); //checked -- undefined
21         prop $(':checked').prop('checked'); //true  -- false
22         
23         通过设置属性的方式来设置是否选中:
24             $(':radio').eq(2).prop('checked',true);  true和false不能加引号
25             $(':radio').eq(2).prop('checked',false);
26 
27 简单总结:
28     1.对于标签上有的能看到的属性和自定义属性都用attr
29     2.对于返回布尔值的比如checkbox、radio和option的是否被选中或者设置其被选中与取消选中都用prop。
30     具有 truefalse 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
31  

 

文档处理

 1 添加到指定元素内部的后面
 2     $(A).append(B)// 把B追加到A
 3     $(A).appendTo(B)// 把A追加到B
 4     #添加字符串照样能识别标签  *****
 5     $('#d1').append('<a href="http://www.jd.com">京东</a>');
 6 添加到指定元素内部的前面
 7     $(A).prepend(B)// 把B前置到A
 8     $(A).prependTo(B)// 把A前置到B
 9     示例
10         $('a').prependTo($('div'));
11 
12 添加到指定元素外部的后面
13     $(A).after(B)// 把B放到A的后面
14     $(A).insertAfter(B)// 把A放到B的后面
15 
16 添加到指定元素外部的前面
17     $(A).before(B)// 把B放到A的前面
18     $(A).insertBefore(B)// 把A放到B的前面
19     
20 移除和清空元素
21     remove()// 从DOM中删除所有匹配的元素。
22     empty()// 删除匹配的元素集合中所有的子节点,包括文本被全部删除,但是匹配的元素还
23     $('div').remove();
24     $('div').empty();
25 
26 替换
27     replaceWith()
28     replaceAll()
29     示例:
30         var a = document.createElement('a')
31         a.href = 'http://www.baidu.com';
32         a.innerText = 'xxx';
33         
34         $('span').replaceWith(a);
35         $(a).replaceAll('span');
36         
37 clone()克隆
38     <button class="btn">屠龙宝刀,点击就送!</button>    
39 
40     $('.btn').click(function () {
41         // var a = $(this).clone(); //克隆标签
42         var a = $(this).clone(true);  //连带事件一起克隆
43         $(this).after(a);
44 
45     })

 

 

作业1: 自定义登录认证

作业2: 全选反选取消

作业3: 添加记录和删除记录 表格

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-06-06 17:27  .如影随行  阅读(167)  评论(0编辑  收藏  举报