Jquery补充

Posted chenyanbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery补充相关的知识,希望对你有一定的参考价值。

此篇为jQuery补充的一些知识点,详细资料请看另一篇博客,地址:https://www.cnblogs.com/chenyanbin/p/10454503.html

一、jQuery中提供的两个函数

1 $.map(array,callback(element,index));
2     1.对于数组array中的每个元素,调用callback()函数,最终返回一个新的数组。原数组不变
3 
4 $.each(array,fn);遍历数组,return false来退出循环。
5     1.主要用来遍历数组,不修改数组,对于普通数组或者“键值对”数组都没有问题
6     2.在each函数中可以直接使用this,表示当前元素的值
    <script src="jquery-3.3.1.js"></script>
    <script type="text/javascript">
        var arrInt = [1, 2, 3, 4, 5, 6, 7, 8];
        $.each(arrInt, function (key, value) {
            if (key == 3) {
                //break;  //在$.each中跳出循环不能使用break,需要使用return false;
                return false;
                //jQuery底层源码,因为调用callback.call()判断是否为false,直接break了
                //if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
                //    break;
                //}
            }
            //当使用each遍历,普通的数组的时候,索引就是键,值就是值
            alert(key: + key + .... + value: + value);
        })

        //遍历键值队集合
        //var personInfo = { ‘name‘: ‘张三‘, ‘age‘: 19, ‘gender‘: ‘男‘ };
        //$.each(personInfo, function (k, v) {
        //    alert(‘key:‘ + k + ‘...v:‘ + this);
        //});
    </script>
技术图片
 1 页面加载执行JavaScript与jQuery写法区别
 2 JS:
 3     window.onload(function(){
 4 
 5 });
 6 JQuery:
 7     方式一:
 8              $(document).ready(function(){
 9 
10 });
11      方式二:
12               $(function(){});   等价于$(document).ready(function(){});    
13 
14 两者区别:
15     1.window.onload需要等待页面全部加载完毕才会触发,即所有的Dom元素创建完毕、图片、CSS等加载完毕后才被触发。
16     2.$(document).ready()只要Dom元素加载完毕即触发,这样可以提升相应速度
17     3.$(document).ready();可以多次注册事件处理程序,并且最终都会执行,而window.onload每次注册新的事件处理程序时都会将前面的覆盖掉
18 
19 以下jQuery三种写法相同
20 jQuery(document).ready(function(){
21 
22 });
23 
24 $(document).ready(function(){
25 
26 });
27 
28 $(function(){
29 
30 
31 });
补充
 1     <script src="jquery-3.3.1.js"></script>
 2     <script type="text/javascript">
 3         //var arrInt = [10, 20, 30, 40, 50, 60, 70, 80, 90];
 4         //遍历数组中的每个元素,返回一个新的数组
 5         //var arrIntNew = $.map(arrInt, function (element_value, arrIndex) {
 6         //    //alert(arguments.length); //查看底层传入几个参数
 7         //    //alert(element_value+‘...‘+arrIndex);
 8         //    return element_value * 2;
 9         //})
10         //alert(arrIntNew);
11 
12         //练习遍历数组,将索引大于3的元素翻倍。并返回一个新的数组
13         var arrInt = [10, 20, 30, 40, 50, 60, 70, 80, 90];
14         var arrIntNew = $.map(arrInt, function (element_value, arrIndex) {
15             return arrIndex > 3 ? element_value * 2 : element_value;
16         })
17         alert(arrIntNew);
18 
19     //以下jQuery底层代码
20     //  map: function( elems, callback, arg ) {
21     //    var length, value,
22     //        i = 0,
23     //        ret = [];
24 
25     //    // Go through the array, translating each of the items to their new values
26     //    if ( isArrayLike( elems ) ) {
27     //        length = elems.length;
28     //        for ( ; i < length; i++ ) {
29     //            value = callback( elems[ i ], i, arg );
30 
31     //            if ( value != null ) {
32     //                ret.push( value );  注:JavaScript的push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
33     //            }
34     //        }
35 
36     //    // Go through every key on the object,
37     //    } else {
38     //        for ( i in elems ) {
39     //            value = callback( elems[ i ], i, arg );
40 
41     //            if ( value != null ) {
42     //                ret.push( value );
43     //            }
44     //        }
45     //    }
46 
47     //    // Flatten any nested arrays
48     //    return concat.apply( [], ret );
49     //}
50     </script>

 

二、jQuery中的trim()

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <script src="jquery-3.3.1.js"></script>
 9     <script type="text/javascript">
10         //去除两边空格
11         var msg =      alex     ;
12         alert(=== + $.trim(msg) + ===);
13         //jQuery底层源码
14         //  trim: function( text ) {
15         //    return text == null ?
16         //        "" :
17         //        ( text + "" ).replace( rtrim, "" );  注:rtrim为正则表达式:/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g
18         //}
19 
20         //等同上面写法,两边加“=”为了明显区分是否有空格
21         alert(=== + msg.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,‘‘) + ===)
22     </script>
23 </body>
24 </html>

 三、Dom对象和jQuery对象

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width:200px;
 9             height:200px;
10             background-color:blue;
11         }
12     </style>
13 </head>
14 <body>
15     <input type="button" value="button" id="btn" />
16     <div id="div1">
17 
18     </div>
19     <script src="jquery-3.3.1.js"></script>
20     <script type="text/javascript">
21         //1.获取层对象
22         //页面上的元素对象才叫Dom对象,数组、日期,这些不是Dom对象
23         var divObj = document.getElementById(div1);
24         //当直接使用Dom对象的时候,存在浏览器兼容问题
25         //为了解决浏览器的兼容问题,所以这时可以把Dom对象转换为jQuery对象,然后再操作
26         //divObj.innerHTML = ‘hello word‘;
27         var $divObj = $(divObj);
28         //把Dom对象转换为jQuery对象后,就可以调用对应的所有jQuery对象的成员了
29         //Dom对象只能使用Dom对象的成员,jQuery对象只能使用jQuery对象的成员,这两种对象是互相独立的
30         $divObj.text(hello word!);
31 
32         //把jQuery对象再转换为Dom对象
33         //方式一
34         var domDiv = $divObj[0];
35         //方式二
36         //var domDiv2 = $divObj.get(0);
37         domDiv.innerHTML = aaaaaa;
38 
39         //jQuery对象
40         //可以把Dom对象转换为jQuery对象
41         //也可以把jQuery对象转换为Dom对象
42     </script>
43 
44 </body>
45 </html>
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button1" id="btn1" />
 9     <input type="text" value="" id="txt2" />
10     <a href="http://www.baidu.com">百度一下</a>
11     <script src="jquery-3.3.1.js"></script>
12     <script type="text/javascript">
13         document.getElementById(btn1).onclick = function () {
14             //获取文本框中用户输入的内容
15             var $txtObj = $(document.getElementById(txt2));
16             //方法一:val()
17             //alert($txtObj.val());  //不传参数,从文本框中取值
18             //$txtObj.val(‘哈哈哈哈‘);  //传参数,给文本框赋值
19 
20             //方法二:设置文本框的CSS样式
21             //$txtObj.css(‘border‘, ‘1px solid blue‘);
22             //设置多个样式时,用键值队的形式传入进去
23             $txtObj.css({ border: 1px solid blue, width: 200px, height: 40px, color: red });
24 
25             //设置超链接
26             var $aLink = $(document.getElementsByTagName(a)[0]);
27             //$aLink.text(‘白了个度‘);   //--->innerHTML
28             $aLink.html(<img src="1.jpg" style="height:300px;width:200px">);
29         };
30     </script>
31 </body>
32 </html>

四、jQuery选择器

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <div id="div1">
 9 
10     </div>
11     <p>哈哈哈</p>
12     <input type="button" value="button" />
13     <input type="text" />
14     <span class="x">我是一个span</span>
15     <p>哈哈哈</p>
16     <p class="x">嘻嘻嘻</p>
17     <input type="button" value="设置p元素中显示的文字" id="btnSetTxt" />
18     <script src="jquery-3.3.1.js"></script>
19     <script type="text/javascript">
20         //1、id选择器:$(‘#div1‘)
21         //$(function () {
22         //    $(‘#div1‘).css({ ‘width‘: ‘100px‘, ‘height‘: ‘100px‘, ‘background-color‘: ‘blue‘ })
23         //});
24 
25         //2、标签选择器:$(‘p‘)
26         //$(‘p‘).css(‘color‘, ‘red‘);
27 
28         //3、类选择器:选取所有应用了x类样式的那些元素
29         //$(‘.x‘).css(‘color‘, ‘blue‘);
30 
31         //选取按钮并注册一个单机事件
32         $(#btnSetTxt).click(function () {
33             //选取页面上所有的p元素
34             //链式编程
35             $(p).text(我是p元素).css(border, 1px solid blue).css(width, 250px).mouseover(function () {
36                 $(this).css(backgroundColor, yellow).siblings().css(backgroundColor,‘‘)
37             }); //隐士迭代
38         });
39     </script>
40 </body>
41 </html>
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <p class="test">test1</p>
 9     <p class="test">test2</p>
10     <p class="test">test3</p>
11     <p>test4</p>
12     <p>test5</p>
13     <div class="test">
14 
15     </div>
16     <span class="test">
17         content
18     </span>
19     <input type="button" id="btn" value="button" />
20     <input type="text" />
21     <script src="jquery-3.3.1.js"></script>
22     <script type="text/javascript">
23         $(function () {
24             //$(‘.test‘).click(function () {
25             //    alert($(this).text());
26             //})
27 
28             //类选择器
29             //所有的应用test类样式的元素
30             //$(‘.test‘).css(‘backgroundColor‘, ‘green‘);
31 
32             //标签+类选择器
33             //所有的应用了test类样式的p元素(标签+类选择器)
34             //$(‘p.test‘).css(‘backgroundColor‘, ‘red‘);
35 
36             //组合选择器
37             //$(‘.test,#btn‘).css(‘backgroundColor‘, ‘red‘);
38         });
39     </script>
40 </body>
41 </html>
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <span>我是body下的span</span>
 9     <div>
10         <span>我是div下的span</span>
11         <p>00000000000<span>我是div下的p下的span</span></p>
12     </div>
13     <span>我是body下的span2</span>
14     <div id="div1">
15         <p>11111111</p>
16         <p>22222222</p>
17         <p>33333333</p>
18     </div>
19     <p>44444444</p>
20     <p>55555555</p>
21     <p>66666666</p>
22     <script src="jquery-3.3.1.js"></script>
23     <script type="text/javascript">
24         $(function () {
25             //层次选择器
26 
27             //选取页面下的所有的p标签,背景色为红色
28             //$(‘p‘).css(‘backgroundColor‘, ‘red‘);
29 
30             //选取所有div1下的所有元素,背景色为蓝色
31             //$(‘#div1 p‘).css(‘backgroundColor‘, ‘blue‘);
32 
33             //选取页面上的所有的div下的p标签设置背景色为黄色
34             //$(‘div p‘).css(‘backgroundColor‘, ‘yellow‘);
35 
36             //选取页面上的所有的span,背景色黄色
37             //$(‘span‘).css(‘backgroundColor‘, ‘yellow‘);
38 
39             //选取body下的所有span
40             //$(‘body span‘).css(‘backgroundColor‘, ‘yellow‘);
41 
42             //选取body下的直接子元素span
43             //后代选择器
44             $(body > span).css(backgroundColor, yellow);
45         });
46     </script>
47 </body>
48 </html>

 五、层次选择器

 1 1、后代,$(‘div li‘)获取div下的所有li元素(后代、子、子的子)
 2 
 3 2、子元素,$(‘div>li‘)获取div下的直接li子元素【必须是直接子元素】
 4 
 5 3、相邻元素1:$(‘.menuitem+div‘)获取样式名为menuitem之后的相邻的(紧接着的)第一个div元素(不常用)等同于$(‘.menuitem‘).next(‘div‘);如果相邻的那个元素不是div,则不会继续向后找。
 6 
 7 4、相邻元素2:$(‘.menuitem~div‘)获取样式名为menuitem之后所有的兄弟div元素,等同于$(‘.menuitem‘).nextAll(‘div‘)【nextAll(‘*‘)】或nextAll()表示后面的所有元素。
 8 
 9 5、$(‘*‘);选取所有的元素。
10 
11 注:选择器表达式中的空格不能多也不能少。易错!过滤器与表单选择器时注意
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <div>
 9         div1
10     </div>
11     <span>content</span>
12     <p>春眠不觉晓</p>
13     <p>春眠不觉晓</p>
14     <div>
15         div2
16     </div>
17     <p>春眠不觉晓</p>
18     <div>
19         div3
20     </div>
21     <p>春眠不觉晓</p>
22     <span>这是一个span</span>
23     <span>这是一个span</span>
24     <span>这是一个span</span>
25     <div>
26         <span>我会变色吗?</span>
27     </div>
28     <script src="jquery-3.3.1.js"></script>
29     <script type="text/javascript">
30         $(function () {
31             //$(‘div + p‘).css(‘backgroundColor‘, ‘red‘); //+表示next(),后一个兄弟
32             //$(‘div ~ p‘).css(‘backgroundColor‘, ‘red‘);  //~表示nextAll(),后面的所有兄弟
33 
34             //下面两种写法互等
35             //$(‘div + span‘).css(‘backgroundColor‘, ‘red‘); //表示选择div后的下一个元素,并且该元素必须是span元素
36             //$(‘div‘).next(‘span‘).css(‘backgroundColor‘, ‘red‘);
37 
38             //下面两种写法互等
39             //$(‘div ~ span‘).css(‘backgroundColor‘, ‘red‘);
40             //$(‘div‘).nextAll(‘span‘).css(‘backgroundColor‘, ‘red‘);
41 
42             //互等
43             //$(‘div‘).next() <---> $(‘div + *‘).css(‘backgroundColor‘, ‘red‘);
44 
45             //互等
46             //$(‘div‘).nextAll() <---> $(‘div ~ *‘).css(‘backgroundColor‘, ‘red‘);
47 
48             //$(‘div‘).prev(‘span‘).css(‘backgroundColor‘, ‘red‘); //获取div的上一个元素,并且该兄弟元素必须是span
49             //$(‘div‘).prevAll(‘span‘).css(‘backgroundColor‘, ‘red‘); //获取div前面的所有兄弟
50 
51             //获取当前元素的所有的兄弟元素
52             $(div).siblings(span);
53         });
54     </script>
55 </body>
56 </html>
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <ul>
 9         <li>公牛</li>
10         <li>小牛</li>
11         <li>湖人</li>
12         <li>开拓者</li>
13     </ul>
14     <script src="jquery-3.3.1.js"></script>
15     <script type="text/javascript">
16         $(function () {
17             //鼠标悬浮事件
18             $(ul li).mousemove(function () {
19                 $(this).css(backgroundColor, red).siblings(li).css(backgroundColor, white);
20             }).click(function () {
21                 //单机事件
22                 //有些方法是会破坏链式变成中返回的对象的,比如:next()、nextAll()、prev()、prevAll()、siblings()、无参数的:text()、val()、html()
23                 //当链式编程的链被破坏的时候,以后的可以通过end()方法修复
24                 $(this).prevAll().css(backgroundColor, yellow).end().nextAll().css(backgroundColor, blue);
25             });
26             //$(‘ul li‘).click(function () {
27 
28             //});
29         });
30     </script>
31 </body>
32 </html>
鼠标悬浮事件
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         td {
 8             font-size:50px;
 9             color:yellow;
10             cursor:pointer;
11             }
12     </style>
13 </head>
14 <body>
15     <p id="pscore"></p>
16     <table id="t1" border="0" cellpadding="0" cellspacing="0">
17         <tr>
18             <td></td>
19             <td></td>
20             <td></td>
21             <td></td>
22             <td></td>
23         </tr>
24     </table>
25     <script src="jquery-3.3.1.js"></script>
26     <script type="text/javascript">
27         $(function () {
28             $(#t1 td).mouseover(function () {
29                 $(this).text().prevAll().text().end().nextAll().text();
30             }).mouseout(function () {
31                 //当鼠标移开的时候把所有的td都变成☆,将具有isclicked属性的td以及之前的td都变成★
32                 $(#t1 td).text();
33                 $(#t1 td[isclicked=isclicked]).text().prevAll().text();
34             }).click(function () {
35                 //点击某个td的时候显示多少分
36                 $(this).attr(isclicked, isclicked).siblings().removeAttr(isclicked); //等价于setAttribute
37                 $(#pscore).text($(this).attr(score));
38             }).attr(score, function (index) {
39                 return (index + 1) * 10;
40             });
41         });
42     </script>
43 </body>
44 </html>
评分五角星
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="全选" id="btnChkAll" />
 9     <input type="button" value="全不选" id="btnNoneChk" />
10     <input type="button" value="反选" id="btnChkReverse" />
11     <input type="checkbox" id="chkbox1" />
12     <input type="checkbox" id="chkbox2" />
13     <input type="checkbox" id="chkbox3" />
14     <input type="checkbox" id="chkbox4" />
15     <input type="checkbox" id="chkbox5" />
16     <script src="jquery-3.3.1.js"></script>
17     <script type="text/javascript">
18         $(function () {
19             //全选
20             $(#btnChkAll).click(function () {
21                 //$(‘#btnChkAll[type="checkbox"]‘).prop(‘checked‘, true);
22                 $(input[type="checkbox"]).prop(checked, true);
23             });
24             //全不选
25             $(#btnNoneChk).click(function () {
26                 $(input[type="checkbox"]).prop(checked, false);
27             })
28             //反选
29             $(#btnChkReverse).click(function () {
30                 //方式一:通过自己遍历的方式,设置反选
31                 //$.each($(‘input[type="checkbox"]‘), function (indexs, values) {
32                 //    $(values).prop(‘checked‘, !$(values).prop(‘checked‘));
33                 //});
34 
35                 //方式二
36                 $(input[type="checkbox"]).prop(checked, function (indexs, values) {
37                     return !values;
38                     //alert(indexs + ‘,‘ + values);
39                 })
40             });
41         })
42     </script>
43 </body>
44 </html>
全选反选全不选
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         .night {
 8             background-color:black;
 9         }
10     </style>
11 </head>
12 <body>
13     <input type="button" value="button" id="btn" />
14     <script src="jquery-3.3.1.js"></script>
15     <script type="text/javascript">
16         $(#btn).click(function () {
17             //模拟开关灯效果
18             //方式一
19             //---------------------------
20             //判断一个元素是否应用了某个样式
21             //if ($(‘body‘).hasClass(‘night‘)) {
22             //    //移除该样式,不会移除其他的样式
23             //    $(‘body‘).removeClass(‘night‘);
24             //} else {
25             //    $(‘body‘).addClass(‘night‘);  //追加新的样式,不会覆盖样式
26             //}
27             //-----------------------------
28 
29             //方式二
30             $(body).toggleClass(night); //切换类样式的应用于移除
31         });
32     </script>
33 </body>
34 </html>
模拟开关灯

 六、基本过滤选择器(:)

 1 :first 选择第一个元素。$(‘div:first‘) 选取第一个<div>
 2 
 3 :last 选择最后一个元素。$(‘div:last‘) 选取最后一个<div>
 4 
 5 :not (选择器)选取不满足“选择器”条件的元素
 6 例如:$(‘input:not(.myClass)‘) 选取样式名不是myClass的<input>
 7 
 8 :even 选取索引是偶数的元素
 9 
10 :odd 选取索引是奇数的元素
11 
12 :eq(索引序号) 选取索引等于
13 
14 :gt(索引序号) 选取索引大于
15 
16 :lt(索引序号) 选取索引小于
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button" id="btn" />
 9     <h1>Alex</h1>
10     <h2>Alex</h2>
11     <h3>Alex</h3>
12     <h4>Alex</h4>
13     <h5>Alex</h5>
14     <h6>Alex</h6>
15     <p class="cls">p1</p>
16     <p>p2</p>
17     <p>p3</p>
18     <p>p4</p>
19     <p>p5</p>
20     <p  class="cls">p6</p>
21     <p>p7</p>
22     <p>p8</p>
23     <p  class="cls">p9</p>
24     <p>p10</p>
25     <script src="jquery-3.3.1.js"></script>
26     <script type="text/javascript">
27         $(function () {
28             $(#btn).click(function () {
29                 //1、选取索引的p标签,背景色红色
30                 //$(‘p‘).css(‘backgroundColor‘, ‘red‘);
31 
32                 //2、选取第一个p标签,背景色红色
33                 //$(‘p:first‘).css(‘backgroundColor‘, ‘red‘);
34 
35                 //3、选取最后一个p标签,背景色红色
36                 //$(‘p:last‘).css(‘backgroundColor‘, ‘red‘);
37 
38                 //4、选取第二个p标签(索引从0开始),背景色红色
39                 //$(‘p:eq(1)‘).css(‘backgroundColor‘, ‘red‘);
40 
41                 //5、选取偶数
42                 //$(‘p:even‘).css(‘backgroundColor‘, ‘red‘);
43 
44                 //6、选取奇数
45                 //$(‘p:odd‘).css(‘backgroundColor‘, ‘red‘);
46 
47                 //7、索引大于2的,背景色红色
48                 //$(‘p:gt(2)‘).css(‘backgroundColor‘, ‘red‘);
49 
50                 //8、索引小于5的,背景色红色
51                 //$(‘p:lt(5)‘).css(‘backgroundColor‘, ‘red‘);
52 
53                 //9、选取页面上所有p标签,除了应用了cls类的那些标签
54                 //$(‘p:not(.cls)‘).css(‘backgroundColor‘, ‘red‘);
55 
56                 //10、设置所有标题都变成红色
57                 //$(‘H1‘).css(‘backgroundColor‘, ‘red‘);
58                 //$(‘h1,h2‘).css(‘backgroundColor‘, ‘red‘);
59                 //简写
60                 //$(‘:header‘).css(‘backgroundColor‘, ‘red‘);
61             });
62         })
63     </script>
64 </body>
65 </html>
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button" id="btn" />
 9     <table border="1" cellpadding="1" cellspacing="1">
10         <thead>学生成绩</thead>
11         <tr>
12             <td>学生</td>
13             <td>成绩</td>
14         </tr>
15         <tr>
16             <td>张三</td>
17             <td>30</td>
18         </tr>
19         <tr>
20             <td>李四</td>
21             <td>40</td>
22         </tr>
23         <tr>
24             <td>王五</td>
25             <td>50</td>
26         </tr>
27         <tr>
28             <td>赵六</td>
29             <td>60</td>
30         </tr>
31         <tr>
32             <td>秦七</td>
33             <td>70</td>
34         </tr>
35     </table>
36     <script src="jquery-3.3.1.js"></script>
37     <script type="text/javascript">
38         $(function () {
39             $(#btn).click(function () {
40                 $(tr:first).css(font-size, 70);
41                 $(tr:last).css(color, red);
42                 $(tr:gt(0):lt(2)).css(font-size, 50)
43                 $(tr:odd:not(:last)).css(backgroundColor, red);
44             })
45         })
46     </script>
47 </body>
48 </html>
过滤器小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button" id="btn" />
 9     <ul id="uone">
10         <li>AAAAA</li>
11         <li>AAAAA</li>
12         <li>AAAAA</li>
13         <li>AAAAA</li>
14         <li>AAAAA</li>
15         <li>AAAAA</li>
16         <li>AAAAA</li>
17         <li>AAAAA</li>
18     </ul>
19     <script src="jquery-3.3.1.js"></script>
20     <script type="text/javascript">
21         $(#btn).click(function () {
22             $(#uone li:lt(2)).css(color, red);
23         });
24     </script>
25 </body>
26 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button" id="btn" />
 9     <table border="1" cellpadding="1" cellspacing="1">
10         <tr>
11             <td>AA</td>
12             <td>BB</td>
13             <td>CC</td>
14             <td>DD</td>
15             <td>EE</td>
16             <td>FF</td>
17         </tr>
18         <tr>
19             <td>AA</td>
20             <td>BB</td>
21             <td>CC</td>
22             <td>DD</td>
23             <td>EE</td>
24             <td>FF</td>
25         </tr>
26         <tr>
27             <td>AA</td>
28             <td>BB</td>
29             <td>CC</td>
30             <td>DD</td>
31             <td>EE</td>
32             <td>FF</td>
33         </tr>
34         <tr>
35             <td>AA</td>
36             <td>BB</td>
37             <td>CC</td>
38             <td>DD</td>
39             <td>EE</td>
40             <td>FF</td>
41         </tr>
42     </table>
43     <script src="jquery-3.3.1.js"></script>
44     <script type="text/javascript">
45         $(function () {
46             $(table tr).mouseover(function () {
47                 $(this).css(backgroundColor, red).siblings(tr).css(backgroundColor,yellow);
48             });
49         });
50     </script>
51 </body>
52 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         td {
 8             width:50px;
 9             height:30px;
10         }
11     </style>
12 </head>
13 <body>
14     <input type="button" value="button" id="btn" />
15     <table border="1" cellpadding="1" cellspacing="1" id="t1">
16         <tr>
17             <td>AA</td>
18             <td>BB</td>
19             <td>CC</td>
20             <td>DD</td>
21             <td>EE</td>
22             <td>FF</td>
23         </tr>
24         <tr>
25             <td>AA</td>
26             <td>BB</td>
27             <td>CC</td>
28             <td>DD</td>
29             <td>EE</td>
30             <td>FF</td>
31         </tr>
32         <tr>
33             <td>AA</td>
34             <td>BB</td>
35             <td>CC</td>
36             <td>DD</td>
37             <td>EE</td>
38             <td>FF</td>
39         </tr>
40         <tr>
41             <td>AA</td>
42             <td>BB</td>
43             <td>CC</td>
44             <td>DD</td>
45             <td>EE</td>
46             <td>FF</td>
47         </tr>
48     </table>
49     <script src="jquery-3.3.1.js"></script>
50     <script type="text/javascript">
51         $(function () {
52             $(#t1 tr).click(function () {
53                 //清空其他颜色
54                 $(#t1 td).css(backgroundColor, white);
55 
56                 //$(‘td‘,‘#t1‘)  <==>$(‘#t1 td‘)
57                 //$(‘td‘, $(this))
58                 $(td:even, this).css(backgroundColor, red);
59                 $(td:odd, $(this)).css(backgroundColor, blue);
60             });
61         });
62     </script>
63 </body>
64 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" id="btn1" value="select" />
 9     <select>
10         <option value="value">北京</option>
11         <option value="value">上海</option>
12         <option value="value">杭州</option>
13     </select>
14     <div id="div1">
15         <input type="checkbox" />
16         <input type="checkbox" />
17         <input type="checkbox" checked />
18         <input type="checkbox" />
19         <input type="radio" />
20         <input type="radio" />
21     </div>
22     <form action="/" method="post" id="form1">
23         <input type="text" name="name" value="" disabled="disabled" />
24         <input type="text" name="name" value="" />
25         <input type="text" name="name" value="" />
26         <input type="button" name="name" value="button" />
27         <input type="button" name="name" value="button" disabled="disabled" />
28         <input type="button" name="name" value="button" />
29     </form>
30     <hr />
31     <input type="button" name="name" value="button" />
32     <input type="button" name="name" value="button" disabled="disabled" />
33     <input type="button" name="name" value="button" />
34     <script src="jquery-3.3.1.js"></script>
35     <script type="text/javascript">
36         //1、选取页面上所有被禁用的元素
37         //方式一
38         //$(‘*[disabled=disabled]‘).css(‘backgroundColor‘, ‘red‘);
39 
40         //方式二
41         //$(‘:disabled‘).css(‘backgroundColor‘, ‘red‘);
42 
43         //2、选取页面上所有没有被禁用的元素
44         //$(‘:enabled‘).css(‘backgroundColor‘, ‘blue‘);
45 
46         //3、选取form下的没有禁用的元素
47         //$(‘#form1 :enabled‘).css(‘backgroundColor‘, ‘blue‘);
48 
49         //4、选取form下的被禁用的元素
50         //$(‘#form1 :disabled‘).css(‘backgroundColor‘, ‘red‘);
51 
52         //5、选取页面中所有被禁用的input元素
53         //$(‘input:disabled‘).css(‘backgroundColor‘, ‘red‘);
54 
55         //6、选取页面中所有没有禁用的input元素
56         //$(‘input:enabled‘).css(‘backgroundColor‘, ‘blue‘);
57 
58         //7、选取div1下所有checkbox被选中的元素
59         //$(‘#div1 :checked‘).css(‘backgroundColor‘, ‘red‘);
60 
61         //8、选取div1下所有没被选中的元素
62         //$(‘#div1 :not(:checked)‘).css(‘backgroundColor‘, ‘red‘);
63 
64         //9、获取选中的select
65         $(#btn1).click(function () {
66             $(:selected).text(function (index, v) {
67                 return * + v + *;
68             });
69             //设置没有被选中的
70             $(select :not(:selected)).text(function (index, v) {
71                 return = + v + =;
72             });
73         });
74     </script>
75 </body>
76 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="checkbox" name="name" value="tom" />tom
 9     <input type="checkbox" name="name" value="jim" />jim
10     <input type="checkbox" name="name" value="Alex" />Alex
11     <p id="pmsg">
12 
13     </p>
14     <script src="jquery-3.3.1.js"></script>
15     <script type="text/javascript">
16         $(function () {
17             //为每个checkbox注册单击事件
18             $(input[type=checkbox]).click(function () {
19                 //1、获取当前所有被选中的checkbox
20                 var chks = $(input[type=checkbox]:checked);
21                 //2、获取个数
22                 var n = chks.length;
23                 //3、获取每个checkbox的value
24                 var names = [];
25                 $.each(chks, function (k, chkObj) {
26                     // 第一个索引,第二个对象
27                     //方式一
28                     names[k] = $(chkObj).val();
29                     //方式二
30                     //names[names.length] = $(chkObj).val();
31                 })
32                 //4、把个数和值显示到p中
33                 $(#pmsg).text(当前共选中 + n + 个,分别是 + names.toString());
34             });
35         });
36     </script>
37 </body>
38 </html>
小练习

 七、动态创建元素

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width:300px;
 9             height:300px;
10             border:1px solid blue;
11         }
12     </style>
13 </head>
14 <body>
15     <input type="button" value="button" id="btn1" />
16     <div id="div1">
17 
18     </div>
19     <script src="jquery-3.3.1.js"></script>
20     <script type="text/javascript">
21         $(#btn1).click(function () {
22             //1、动态创建一个超链接
23             //var aObj = $(‘<a href="http://www.baidu.com">百度一下</a>‘)
24             //2、将超链接加入到div中
25             //方式一
26             //$(‘#div1‘).append(aObj);
27             //方式二
28             //加到div后面
29             //$(‘#div1‘).after(aObj);
30             //加到div前面
31             //$(‘#div1‘).before(aObj);
32 
33             //----------------------------
34             //方式二动态创建元素
35             //div后面
36             //$(‘<a href="http://www.baidu.com">百度一下</a>‘).insertAfter(‘#div1‘)
37             //div前面
38             //$(‘<a href="http://www.baidu.com">百度一下</a>‘).insertBefore(‘#div1‘)
39         });
40     </script>
41 </body>
42 </html>
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" id="btn1" value="button"/>
 9     <script src="jquery-3.3.1.js"></script>
10     <script type="text/javascript">
11         var websites = { 百度: http://www.baidu.com, 腾讯: http://www.qq.com };
12         $(#btn1).click(function () {
13             //1、动态创建表格
14             $(<table border="1" style="width:300px;height:300px;"></table>).appendTo(body);
15             //2、动态创建表格中的行
16             for (var key in websites) {
17                 $(<tr><td> + key + </td><td><a href=" + websites[key] + "> + key + </td></tr>).appendTo(table);
18             }
19         });
20     </script>
21 </body>
22 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <table border="1">
 9         <tr>
10             <td>毛毛</td>
11             <td>沙发~~</td>
12         </tr>
13         <tr>
14             <td>蛋蛋</td>
15             <td>板凳</td>
16         </tr>
17     </table>
18     昵称:<input type="text" name="name" value="" id="txtNickName" placeholder="请输入昵称!" />
19     评论:<textarea cols="25" rows="5" id="txtContent"></textarea>
20     <input type="button" name="" value="提交" id="btn1" />
21     <script src="jquery-3.3.1.js"></script>
22     <script type="text/javascript">
23         $(#btn1).click(function () {
24             //1、获取昵称
25             var txtNickName = $(#txtNickName).val();
26             //2、获取评论
27             var txtContent = $(#txtContent).val();
28             //3、往table中追加
29             $(<tr><td> + txtNickName + </td><td> + txtContent + </td></tr>).appendTo(table);
30         });
31     </script>
32 </body>
33 </html>
无刷新评论

八、 删除节点

1 empty():
2     · 清空其元素下的所有子元素
3     · 内部实现:while(ele.firstChild){ele.removeChild(ele.firstChild);}//不同版本可能不一样
4 remove(selector)
5 · 删除当前元素,返回值为被删除的元素。还可以继续使用被删除的节点。比如重新添加到其他节点下: 6 · var lis = $(‘#ulSite li‘).remove(); 7 · $(‘#ulSite2‘).append(lis); 8 · 参数expr,是一个选择器,如果没有选择器,表示把选中的元素删掉,如果有选择器则表示在选中的元素中,再过滤出expr匹配的元素删除掉。
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         select {
 8             width:150px;
 9             height:100px;
10         }
11     </style>
12 </head>
13 <body>
14     <select id="s1" multiple="multiple">
15         <option>增加</option>
16         <option>删除</option>
17         <option>修改</option>
18         <option>保存</option>
19     </select>
20     <input type="button" value=">>" />
21     <input type="button" value=">" />
22     <input type="button" value="<" />
23     <input type="button" value="<<" />
24     <select id="s2" multiple="multiple">
25 
26     </select>
27     <script src="jquery-3.3.1.js"></script>
28     <script type="text/javascript">
29         $(:button[value=">>"]).click(function () {
30             var sel1 = $(#s1 option).remove();
31             $(#s2).append(sel1);
32         });
33         $(:button[value=">"]).click(function () {
34             var sel1 = $(#s1 option:selected).remove();
35             $(#s2).append(sel1);
36         });
37         $(:button[value="<"]).click(function () {
38              var sel2 = $(#s2 option:selected).remove();
39             $(#s1).append(sel2);
40         });
41         $(:button[value="<<"]).click(function () {
42             var sel2 = $(#s2 option).remove();
43             $(#s1).append(sel2);
44         });
45     </script>
46 </body>
47 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="text" id="txt1" />+<input type="text" id="txt2" />=<input type="text" id="txt3" />
 9     <br />
10     <input type="button" value="计算" id="btn1" />
11     <script src="jquery-3.3.1.js"></script>
12     <script type="text/javascript">
13         $(#btn1).click(function () {
14             //1、获取文本框1的值
15             var txt1 = $(#txt1).val();
16             //2、获取文本框2的值
17             var txt2 = $(#txt2).val();
18             //3、计算并给文本框3赋值
19             var sum = parseInt(txt1) + parseInt(txt2)
20             $(#txt3).val(sum);
21         });
22     </script>
23 </body>
24 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="请仔细阅读协议(5)" id="btn1" disabled="disabled" />
 9     <script src="jquery-3.3.1.js"></script>
10     <script type="text/javascript">
11         var sec = 4;
12         $(function () {
13             var intervalId = setInterval(function () {
14                 if (sec > 0) {
15                     $(#btn1).val(请仔细阅读协议( + sec + ))
16                     sec--;
17                 } else {
18                     //停止计时器
19                     clearInterval(intervalId);
20                     //方式一
21                     //$(‘#btn1‘).val(‘同意!‘).removeAttr(‘disabled‘);
22                     //方式二
23                     $(#btn1).val(同意!).prop(disabled, false);  //注意,不能是字符串的false
24                 }
25             }, 1000);
26         })
27     </script>
28 </body>
29 </html>
小练习
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="text" />
 9     <input type="text" />
10     <input type="text" />
11     <script src="jquery-3.3.1.js"></script>
12     <script type="text/javascript">
13         $(:text).blur(function () {
14             //1、校验
15             if ($(this).val().length == 0) {
16                 //2、背景色变红
17                 $(this).css(backgroundColor, red);
18             } else {
19                 $(this).css(backgroundColor, ‘‘);
20             }
21         })
22     </script>
23 </body>
24 </html>
小练习

 九、节点的操作

· 替换节点
    - $(‘br‘).replaceWith(‘<hr/>‘);
        用hr替换br
    - $(‘<br/>‘).replaceAll(‘hr‘);
        用br替换hr

· 包裹节点
    - wrap():将所有元素逐个用指定标签包裹
        $(‘b‘).wrap(‘<font color="red"></font>‘) 将所有粗体字红色显示
        结果:<font color="red"><b></b></font>
    - wrapInner() 在内部围绕
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="替换" id="btn" />
 9     <p>ppppppppp</p>
10     <hr />
11     <p>ppppppppp</p>
12     <hr />
13     <p>ppppppppp</p>
14     <hr />
15     <p>ppppppppp</p>
16     <script src="jquery-3.3.1.js"></script>
17     <script type="text/javascript">
18         $(#btn).click(function () {
19             //先使用选择器选择对应的元素,然后使用指定的元素对象来替换选择到的元素
20             //$(‘hr‘).replaceWith(‘<a href="http://www.baidu.com">百度一下</a>‘)
21 
22             //首先动态创建一个元素,然后进行替换
23             $(<font color="red">====</font>).replaceAll(hr)
24         })
25     </script>
26 </body>
27 </html>
节点替换
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="包裹节点" id="btn" />
 9     <p>pppppppp</p>
10     <input type="text" />
11     <p>pppppppp</p>
12     <p>pppppppp</p>
13     <p>pppppppp</p>
14     <script src="jquery-3.3.1.js"></script>
15     <script type="text/javascript">
16         $(#btn).click(function () {
17             //包裹外边
18             //$(‘p‘).wrap(‘<font color="red"></font>‘);
19             //包裹里面
20             //$(‘p‘).wrapInner(‘<font color="red"></font>‘)
21             //包裹所有的:所有的p标签使用一个标签来包裹
22             $(p).wrapAll(<font color="red"></font>);
23         });
24     </script>
25 </body>
26 </html>
节点包裹
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <input type="button" value="button" id="btn" />
 9     <p>
10         性别:
11         <input type="radio" name="gender" value="male" />12         <input type="radio" name="gender" value="female" />13         <input type="radio" name="gender" value="secret" />保密
14     </p>
15     <p>
16         婚否:
17         <input type="radio" name="hf" value="yihun" />已婚
18         <input type="radio" name="hf" value="weihun" />未婚
19         <input type="radio" name="hf" value="liyi" />离异
20     </p>
21     <p>
22         <input type="checkbox" name="hobby" value="dlq" />打篮球
23         <input type="checkbox" name="hobby" value="tzq" />踢足球
24         <input type="checkbox" name="hobby" value="ppq" />乒乓球
25     </p>
26     <script src="jquery-3.3.1.js"></script>
27     <script type="text/javascript">
28         $(#btn).click(function () {
29             //要求如下:
30             // 保密、已婚、打篮球、踢足球被选中
31             //方式一
32             //$(‘:radio[value="secret"]‘).prop("checked", ‘true‘);
33             //$(‘:radio[value="yihun"]‘).prop("checked", ‘true‘);
34             //$(‘:checkbox[value="dlq"]‘).prop(‘checked‘, ‘true‘);
35             //$(‘:checkbox[value="tzq"]‘).prop(‘checked‘, ‘true‘);
36             //方式二
37             $(:radio).val([secret, yihun]);
38             $(:checkbox).val([dlq, tzq]);
39         });
40     </script>
41 </body>
42 </html>
单选框和复选框操作
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width:100px;
 9             height:100px;
10             background-color:red;
11         }
12     </style>
13 </head>
14 <body>
15     <div id="div1">
16 
17     </div>
18     <input type="text" id="txt1" />
19     <script src="jquery-3.3.1.js"></script>
20     <script type="text/javascript">
21         //注册一个鼠标移动事件
22         $(#div1).mousemove(function (evt) {
23             //在jQuery中使用事件对象,直接在事件处理函数中加一个evt参数即可
24             //并且该事件对象是经过jQuery封装后的事件对象
25             var x, y;
26             var e = evt || window.event;
27             x = e.pageX;
28             y = e.pageY;
29             document.title = x + , + y;
30         }).mousedown(function (evt) {
31             //获取鼠标按下的键,1:左键;2:滚轮;3:右键
32             alert(evt.which);
33         });
34         $(#txt1).keydown(function (evt) {
35             //相当于window.keyCode键盘码
36             alert(evt.which);
37         });
38     </script>
39 </body>
40 </html>
获取事件对象
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6 </head>
 7 <body>
 8     <p id="p1">ppppppp<span id="s1">sssss</span>ppp
 9     </p>
10     <script src="jquery-3.3.1.js"></script>
11     <script type="text/javascript">
12         $(#p1).click(function () {
13             alert(p1);
14         });
15         $(#s1).click(function (evt) {
16             alert(s1);
17             //阻止事件冒泡
18             //DOM取消事件冒泡:window.event.cancelBubble=true;
19             evt.stopPropagation();
20         });
21     </script>
22 </body>
23 </html>
取消事件冒泡
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width:300px;
 9             height:300px;
10             background-color:blue;
11         }
12     </style>
13 </head>
14 <body>
15     <input type="button" value="show" id="btnShow" />
16     <input type="button" value="hide" id="btnHide" />
17     <input type="button" value="show/hide" id="btn" />
18     <div id="div1">
19 
20     </div>
21     <script src="jquery-3.3.1.js"></script>
22     <script type="text/javascript">
23         $(#btnShow).click(function () {
24             //$(‘#div1‘).stop().show(3000);
25             //$(‘#div1‘).stop().slideDown(3000);
26             //$(‘#div1‘).stop().fadeIn(3000);
27             //$(‘#div1‘).stop().fadeTo(3000, 0.3);
28         });
29         $(#btnHide).click(function () {
30             //$(‘#div1‘).stop().hide(3000);
31             //$(‘#div1‘).stop().slideUp(3000);
32             //$(‘#div1‘).stop().fadeOut(3000);
33         });
34         $(#btn).click(function () {
35             //$(‘#div1‘).stop().toggle(2000);
36             //$(‘#div1‘).stop().fadeToggle(2000);
37             $(#div1).stop().slideToggle(2000);
38         });
39     </script>
40 </body>
41 </html>
动画
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #img1 {
 8             display:none;
 9             position:absolute;
10         }
11     </style>
12 </head>
13 <body>
14     <input type="button" value="显示消息" id="btn" />
15     <img src="2.jpg" alt="Alternate Text" id="img1" />
16     <script src="jquery-3.3.1.js"></script>
17     <script type="text/javascript">
18         $(#btn).click(function () {
19             //$(‘#img1‘).css({ ‘right‘: 0, ‘bottom‘: 0 }).show(2000);
20             //$(‘#img1‘).css({ ‘right‘: 0, ‘bottom‘: 0 }).slideDown(2000);
21             $(#img1).css({ right: 0, bottom: 0 }).fadeIn(2000);
22         });
23     </script>
24 </body>
25 </html>
右下角弹窗
技术图片
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #qqTab {
 8             height:500px;
 9             width:300px;
10             border:1px solid blue;
11         }
12         #qqTab ul {
13                 padding:0;
14                 margin:0;
15                 list-style-type:none;
16         }
17         p {
18             margin:0;
19             text-align:center;
20             background-color:aqua;
21             margin-bottom:2px;
22         }
23         #uGroup ul li {
24             background-color:chartreuse;
25             margin-top:2px;
26             margin-bottom:2px;           
27         }
28         li, p {
29             cursor:pointer;
30         }
31         #uGroup li ul {
32             display:none;
33         }
34     </style>
35 </head>
36 <body>
37     <!--bgsound:仅仅支持IE-->
38     <bgsound id="snd" loop="0" src="天空之城.mp3"></bgsound>
39     <div id="qqTab">
40         <ul id="uGroup">
41             <li>
42                 <p>
43                     小学同学
44                 </p>
45                 <ul>
46                     <li>小猫</li>
47                     <li>小猫2</li>
48                 </ul>
49             </li>
50             <li>
51                 <p>
52                     初中同学
53                 </p>
54                 <ul>
55                     <li>小狗</li>
56                     <li>小狗2</li>
57                 </ul>
58             </li>
59             <li>
60                 <p>
61                     高中同学
62                 </p>
63                 <ul>
64                     <li>小猪</li>
65                     <li>小猪2</li>
66                 </ul>
67             </li>
68         </ul>
69     </div>
70     <script src="jquery-3.3.1.js"></script>
71     <script type="text/javascript">
72         $(#uGroup li p).click(function () {
73             //$(this).next(‘ul‘).toggle(1500);
74             $(this).next(ul).slideToggle(1500);
75         });
76     </script>
77 </body>
78 </html>
QQ面板

十、animate动画(自定义)

 1 - 滑动效果
 2     slideDown()、slideUp()、slideToggle()
 3 
 4 - 淡入淡出(透明)
 5     fadeIn()、fadeOut()、fadeToggle()、fadeTo()
 6 
 7 - 自定义动画
 8     animate({样式},speed)
 9         部分样式不支持:backgroundColor、color、borderStyle......
10     使用animate设置对象位置的时候要确保position的值为absolute或relative
11     停止动画正在执行动画的元素:stop()(*),带参数的stop(true,false);
12     动画队列:animate().animate().animate()....;
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title></title>
 6     <style type="text/css">
 7         #div1 {
 8             width:20px;
 9             height:20px;
10             border:1px solid blue;
11             background-color:orange;
12             position:absolute;
13             left:100px;
14             top:100px;
15         }
16     </style>
17 </head>
18 <body>
19     <input type="button" value="button" id="btnStart" />
20     <input type="button" value="stop" id="btnStop" />
21     <div id="div1">
22 
23     </div>
24     <script src="jquery-3.3.1.js"></script>
25     <script type="text/javascript">
26         //开始
27         $(#btnStart).click(function () {
28             $(#div1).animate({ width: 100px, height: 100px, left: 200px, top: 150px }, 1000)
29                 .animate({ width: 10px, height: 10px, left: 100px, top: 100px }, 1000)
30                 .animate({ width: +=100px, height: +=100px, left: 200px, top: 150px }, 1000)
31                 .animate({ width: 10px, height: 10px, left: 100px, top: 100px }, 1000)
32                 .animate({ width: +=100px, height: +=100px, left: 200px, top: 150px }, 1000)
33                 .animate({ width: 10px, height: 10px, left: 100px, top: 100px }, 1000)
34                 .animate({ width: +=100px, height: +=100px, left: 200px, top: 150px }, 1000);
35         });
36         //停止
37         $(#btnStop).click(function () {
38             //仅仅停止当前运行的动画,后面的动画不会停止,继续执行
39             //$(‘:animated‘).stop();
40             //停止当前动画,并且清除后面的动画队列(动画停止)
41             //$(‘:animated‘).stop(true);
42             //停止当前动画,并且将当前元素设置到当前动画执行完毕的位置
43             $(:animated).stop(true, true);
44         });
45     </script>
46 </body>
47 </html>

 

以上是关于Jquery补充的主要内容,如果未能解决你的问题,请参考以下文章

jQuery应用 代码片段

Visual Studio 2012-2019的130多个jQuery代码片段。

markdown 在WordPress中使用jQuery代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

很实用的JQuery代码片段(转)

几个有用的JavaScript/jQuery代码片段(转)