zoukankan      html  css  js  c++  java
  • day049--jQuery文档操作示例

    DOM操作(CRUD增改查删)

      创建元素

    $('span')  // 创建一个span标签

      后置插入操作   append(), appendTo()

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input type="text">
    <button id="append">追加</button>
    <ul class="comment">
    
    </ul>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
    
            $('#append').click(function () {
                let content = $('input[type=text]').val();
    
                $('.comment').append(`<li>${content}</li>`);
    
                //清空
                $('input[type=text]').val('');
            })
        })
    </script>
    
    </body>
    </html>
    文档追加示例
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input type="text">
    <button id="append">追加</button>
    <ul class="comment">
        <li>吴老板</li>
    </ul>
    <script src="libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
            //追加字符串
            $('.comment').append(`<li id="item">alex</li>`);
    
            $('#item').click(function () {
                alert($(this).text());
            });
    
            //追加js对象
            var li = document.createElement('li');
            li.innerText = 'wusir';
            $('.comment').append(li);
    
            //如果是jQuery对象,相当于移动操作,把原对象移动到指定位置,不会重新创建对象
            setTimeout(function () {
                $('.comment').append($('li').eq(0));
            },2000);
            clearTimeout();
    
            $('<li>你好</li>').appendTo('.comment').click(function () {
                alert($(this).html());
            });
    
            $('button').click(function () {
                $('.comment').append($('<li>呵呵呵</li>'));
            })
    
    
        })
    </script>
    
    </body>
    </html>
    append追加+创建元素$('li')

      前置插入  prepend(),  prenpendTo()

      兄弟插入(后)  after(), insertAfter()

      兄弟插入(前)  before(), insertBefore()

      删除  remove(), detach()

      清空 empty(), text(''), html('')

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input type="text">
    <button id="append">后置追加</button>
    <button id="prepend">前置追加</button>
    <button id="after">兄弟追加后</button>
    <button id="replace">替换</button>
    <button id="del">删除</button>
    <button id="detach">删除2</button>
    <button id="empty">清空</button>
    <ul class="comment">
        <li id="item">alex</li>
        <li><a href="#">sb</a></li>
        <li><a href="#">sb2</a></li>
    </ul>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
    
    
        $('#append').click(function () {
    
            //1.后置追加
            console.log($('input[type=text]').val());
            // 变量不能在全局声明,否则值为空,因为初始化的时候没有值.写在事件内部,在事件发生时获取值.
            let content = $('input[type=text]').val();
            if (!content){
                //如果内容为空不执行操作
                return;
            }
    
            $('.comment').append(`<li>${content}</li>`);
    
            //清空  添加后把输入框中的内容清空
            $('input[type=text]').val('');
        })
    
        //2. 前置
        $('#prepend').click(function () {
            let content = $('input[type=text]').val();
            if (!content){
                return;
            }
    
            // $('.comment').prepend('<li>'+content+'</li>');
            //推荐使用``
    
            //prepend()方法  前置添加   父.prepend(子)
            // $('.comment').prepend(`<li>${content}</li>`);
            //prependTo()方法 前置添加   子.prependTo(父)
            $(`<li>${content}</li>`).prependTo($('.comment'));
            $('input[type=text]').val('');
    
        })
    
        //3.兄弟追加  后置追加
            $('#after').click(function () {
    
                let content = $('input[type=text]').val();
    
                if (!content){
                    return;
                }
                // 目标.after.新内容
                // $('#item').after(`<li>${content}</li>`);
                // 新内容.after.目标
                $(`<li>${content}</li>`).insertAfter($('#item'));
                $('input[type=text]').val('');
    
            });
    
        // 4. 替换
        $('#replace').click(function () {
            let content = $('input[type=text]').val();
    
                if (!content){
                    return;
                }
                $('.comment li a').replaceWith(`<span>${content}</span>`);
                $('input[type=text]').val('');
        });
    
        //5.remove() 删除 表示整个标签都删除(事件也删除)
        $('#del').click(function () {
            alert(1);
            // $('ul').remove();
    
            var dBtn = $(this).remove();
            console.log(dBtn);
    
            $('.comment #item').append(dBtn);
        });
    
        //删除标签 事件不删除
        $('#detach').click(function () {
            alert(1);
            var dBtn = $(this).detach();
            console.log(dBtn);
    
            $('.comment #item').append(dBtn);
    
        });
    
        //清空父级元素的子内容 三种方法
        $('#empty').click(function () {
            // $('.comment').empty();
            // $('.comment').html('');
            $('.comment').text('');
        })
    
    </script>
    </body>
    </html>
    View Code

    事件

      事件监听   addEventListener(事件,fn,boolen)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>事件流</title>
        <script>
    
            window.onload = function () {
    
                var oBtn = document.getElementById('btn');
    
                //1
                document.addEventListener('click', function () {
                    console.log('document处于事件捕获阶段');
                }, true);
    
                //2
                document.documentElement.addEventListener('click', function () {
                    console.log('html处于事件捕获阶段');
                }, true);
    
                //3
                document.body.addEventListener('click', function () {
                    console.log('body处于事件捕获阶段');
                }, true);
    
                //4
                oBtn.addEventListener('click', function () {
                    console.log('btn处于事件捕获阶段');
                }, true);
    
                //4
    
                oBtn.addEventListener('click', function () {
                    console.log('btn处于事件冒泡阶段');
                }, false);
                //5  false 表示冒泡
                 document.body.addEventListener('click', function () {
                    console.log('body处于事件冒泡阶段');
                }, false);
                // //6
                document.documentElement.addEventListener('click', function () {
                    console.log('html处于事件冒泡阶段');
                }, false);
    
                //7
                document.addEventListener('click', function () {
                    console.log('document处于事件冒泡阶段');
                }, false);
    
    
    
    
    
            };
    
        </script>
    </head>
    <body>
    <a href="javascript:void(0);" id="btn">按钮</a>
    </body>
    </html>
    事件流
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box{
                width: 100px;
                height: 200px;
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div class="box">
            <p>alex</p>
            <button id="btn">按钮</button>
        </div>
        <script src="./libs/jquery-3.3.1.js"></script>
        <script>
            $(function () {
    
                //jquery中没有捕获阶段  只有冒泡阶段
                //每一个事件的回调函数 都会有一个事件对象(js)
                $('#btn').click(function (e) {
                    console.log(e);
                    //阻止冒泡
                    e.stopPropagation();
                    $('.box p').css({
                        fontSize:20
                    })
                });
    
                $('.box').click(function (e) {
                    e.stopPropagation();
                    alert(1);
                    $(this).css({
                        backgroundColor:'green'
                    })
                });
    
                $('body').click(function () {
                    $(this).css({
                        backgroundColor:'yellow'
                    })
                })
    
            })
        </script>
    
    </body>
    </html>
    jQuery中的事件冒泡

      数据驱动视图(双向的数据绑定)

      oninput 定义和用法

    oninput 事件在用户输入时触发。
    
    该事件在 <input><textarea> 元素的值发生改变时触发。
    
    提示: 该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen><select> 元素。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input type="text" value="alex">
    <p></p>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        //初始化操作
        $('p').html($('input[type=text]').val());
    
        // oninput监听事件, 事件在用户输入时触发
        $('input[type=text]')[0].oninput = function (e) {
            console.log(e);
            var val = e.target.value;
            console.log(val);
            $('p').html(val);
    
        }
    </script>
    </body>
    </html>
    数据驱动
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .title{
                color: red;
            }
        </style>
    </head>
    <body>
        <ul>
    
    </ul>
    <script src="./libs/jquery-3.3.1.js"></script>
        <script>
            $(function () {
    
                var data = {
                    status:200,
                    lists:[
                       {
                        title:'完美世界222',
                        author:'辰东',
                        status:'连载中',
                        addr:'起点中文网'
                    },
                     {
                        title:'蛮荒记',
                        author:'我吃西红柿',
                        status:'已完结',
                        addr:'起点中文网'
                    },
                     {
                        title:'辟邪剑谱',
                        author:'吴老板',
                        status:'连载中ing',
                        addr:'起点中文网'
                    }
                    ]
                };
    
                if (data.status == 200){
                    data.lists.forEach(function (item,index) {
                        $(`<li>
                                <p class="title">${item.title}</p>
                                <p class="author">${item.author}</p>
                                <p class="stats">${item.status}</p>
                                <p class="addr">${item.addr}</p>
                            </li>`).appendTo('ul');
                    })
                }
            })
        </script>
    
    </body>
    </html>
    数据驱动 百度小说

      事件对象(event)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="text">
        <script src="./libs/jquery-3.3.1.js"></script>
        <script>
            $(function () {
                function enter() {
                    alert(1);
                }
    
                $('input[type=text]').keydown(function (e) {
                    console.log(e.keyCode);
                    console.log(e.target); //jsdom对象
                    console.log(e.currentTarget); //jsdom对象
                    console.log(this); //jsdom对象
    
                    switch (e.keyCode){
                        case 13:
                            //回车键
                            enter();
                            break;
                    }
    
                })
    
            })
        </script>
    
    </body>
    </html>
    View Code

      e.target(),  e.currentTarget(), this

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .box {
                width: 100px;
                height: 200px;
                background-color: red;
    
            }
        </style>
    </head>
    <body>
    <div class="box">
        <p>alex</p>
        <button id="btn">按钮</button>
    </div>
    <script src="./libs/jquery-3.3.1.js"></script>
    
    <script>
        $(function () {
            //jquery中没有捕获阶段  只有冒泡阶段
            //每一个事件的回调函数 都会有一个事件对象(js)
            $('#btn').click(function (e) {
                console.log(this);
                console.log(e.target);
                e.stopPropagation();
                console.log(e.currentTarget);
    
            });
    
            $('.box').click(function (e) {
                console.log(this);
                 console.log(e.target); //传递事件的对象, 事件源
                e.stopPropagation();
                 console.log(e.currentTarget);   // this和currentTarget的对象相同
            });
    
            $('body').click(function (e) {
                console.log(this);
                 console.log(e.target);
                  console.log(e.currentTarget);
            });
    
        })
    </script>
    
    </body>
    </html>
    事件对象处理

    键盘事件

    1.键盘事件:完整的 key press 过程分为两个部分:1. 按键被按下;2. 按键被松开。

    keydown:按键按下
    keyup:按键抬起

    keypress:按键按下抬起

    js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:
    keyCode 8 = BackSpace BackSpace
    keyCode 9 = Tab Tab
    keyCode 12 = Clear
    keyCode 13 = Enter
    keyCode 16 = Shift_L
    keyCode 17 = Control_L
    keyCode 18 = Alt_L
    keyCode 19 = Pause
    keyCode 20 = Caps_Lock
    keyCode 27 = Escape Escape
    keyCode 32 = space
    keyCode 33 = Prior
    keyCode 34 = Next
    keyCode 35 = End
    keyCode 36 = Home
    keyCode 37 = Left
    keyCode 38 = Up
    keyCode 39 = Right
    keyCode 40 = Down
    keyCode 41 = Select
    keyCode 42 = Print
    keyCode 43 = Execute
    keyCode 45 = Insert
    keyCode 46 = Delete
    keyCode 47 = Help
    keyCode 48 = 0 equal braceright
    keyCode 49 = 1 exclam onesuperior
    keyCode 50 = 2 quotedbl twosuperior
    keyCode 51 = 3 section threesuperior
    keyCode 52 = 4 dollar
    keyCode 53 = 5 percent
    keyCode 54 = 6 ampersand
    keyCode 55 = 7 slash braceleft
    keyCode 56 = 8 parenleft bracketleft
    keyCode 57 = 9 parenright bracketright
    keyCode 65 = a A
    keyCode 66 = b B
    keyCode 67 = c C
    keyCode 68 = d D
    keyCode 69 = e E EuroSign
    keyCode 70 = f F
    keyCode 71 = g G
    keyCode 72 = h H
    keyCode 73 = i I
    keyCode 74 = j J
    keyCode 75 = k K
    keyCode 76 = l L
    keyCode 77 = m M mu
    keyCode 78 = n N
    keyCode 79 = o O
    keyCode 80 = p P
    keyCode 81 = q Q at
    keyCode 82 = r R
    keyCode 83 = s S
    keyCode 84 = t T
    keyCode 85 = u U
    keyCode 86 = v V
    keyCode 87 = w W
    keyCode 88 = x X
    keyCode 89 = y Y
    keyCode 90 = z Z
    keyCode 96 = KP_0 KP_0
    keyCode 97 = KP_1 KP_1
    keyCode 98 = KP_2 KP_2
    keyCode 99 = KP_3 KP_3
    keyCode 100 = KP_4 KP_4
    keyCode 101 = KP_5 KP_5
    keyCode 102 = KP_6 KP_6
    keyCode 103 = KP_7 KP_7
    keyCode 104 = KP_8 KP_8
    keyCode 105 = KP_9 KP_9
    keyCode 106 = KP_Multiply KP_Multiply
    keyCode 107 = KP_Add KP_Add
    keyCode 108 = KP_Separator KP_Separator
    keyCode 109 = KP_Subtract KP_Subtract
    keyCode 110 = KP_Decimal KP_Decimal
    keyCode 111 = KP_Divide KP_Divide
    keyCode 112 = F1
    keyCode 113 = F2
    keyCode 114 = F3
    keyCode 115 = F4
    keyCode 116 = F5
    keyCode 117 = F6
    keyCode 118 = F7
    keyCode 119 = F8
    keyCode 120 = F9
    keyCode 121 = F10
    keyCode 122 = F11
    keyCode 123 = F12
    keyCode 124 = F13
    keyCode 125 = F14
    keyCode 126 = F15
    keyCode 127 = F16
    keyCode 128 = F17
    keyCode 129 = F18
    keyCode 130 = F19
    keyCode 131 = F20
    keyCode 132 = F21
    keyCode 133 = F22
    keyCode 134 = F23
    keyCode 135 = F24
    keyCode 136 = Num_Lock
    keyCode 137 = Scroll_Lock
    keyCode 187 = acute grave
    keyCode 188 = comma semicolon
    keyCode 189 = minus underscore
    keyCode 190 = period colon
    keyCode 192 = numbersign apostrophe
    keyCode 210 = plusminus hyphen macron
    keyCode 211 =
    keyCode 212 = copyright registered
    keyCode 213 = guillemotleft guillemotright
    keyCode 214 = masculine ordfeminine
    keyCode 215 = ae AE
    keyCode 216 = cent yen
    keyCode 217 = questiondown exclamdown
    keyCode 218 = onequarter onehalf threequarters
    keyCode 220 = less greater bar
    keyCode 221 = plus asterisk asciitilde
    keyCode 227 = multiply division
    keyCode 228 = acircumflex Acircumflex
    keyCode 229 = ecircumflex Ecircumflex
    keyCode 230 = icircumflex Icircumflex
    keyCode 231 = ocircumflex Ocircumflex
    keyCode 232 = ucircumflex Ucircumflex
    keyCode 233 = ntilde Ntilde
    keyCode 234 = yacute Yacute
    keyCode 235 = oslash Ooblique
    keyCode 236 = aring Aring
    keyCode 237 = ccedilla Ccedilla
    keyCode 238 = thorn THORN
    keyCode 239 = eth ETH
    keyCode 240 = diaeresis cedilla currency
    keyCode 241 = agrave Agrave atilde Atilde
    keyCode 242 = egrave Egrave
    keyCode 243 = igrave Igrave
    keyCode 244 = ograve Ograve otilde Otilde
    keyCode 245 = ugrave Ugrave
    keyCode 246 = adiaeresis Adiaeresis
    keyCode 247 = ediaeresis Ediaeresis
    keyCode 248 = idiaeresis Idiaeresis
    keyCode 249 = odiaeresis Odiaeresis
    keyCode 250 = udiaeresis Udiaeresis
    keyCode 251 = ssharp question backslash
    keyCode 252 = asciicircum degree
    keyCode 253 = 3 sterling
    keyCode 254 = Mode_switch
    使用event对象的keyCode属性判断输入的键值
    eg:if(event.keyCode==13)alert(“enter!”);
    键值对应表
    A  0X65  U   0X85
    B  0X66  V   0X86
    C  0X67  W   0X87
    D  0X68  X   0X88
    E  0X69  Y   0X89
    F  0X70  Z   0X90
    G  0X71  0   0X48
    H  0X72  1   0X49
    I  0X73  2   0X50
    J  0X74  3   0X51
    K  0X75  4   0X52
    L  0X76  5   0X53
    M  0X77  6   0X54
    N  0X78  7   0X55
    O  0X79  8   0X56
    P  0X80  9   0X57
    Q  0X81 ESC  0X1B
    R  0X82 CTRL  0X11
    S  0X83 SHIFT 0X10
    T  0X84 ENTER 0XD
    如果要使用组合键,则可以判断是否同时按下了这几个键,比如ctrl键、shift键以及alt键的组合使用就可以判断是否多按下了ctrl键、shift键以及alt键
    keyCode对照表

      jQuery的事件

      鼠标移入和移出 (冒泡)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            ul {
                list-style: none;
            }
            ul li{
                float: right;
                margin-right: 100px;
                width: 80px;
                height: 32px;
                font-size: 14px;
                position: relative;
                background-color: red;
                line-height: 32px;
                text-align: center;
            }
            ul li .list{
                display: none;
                width: 200px;
                height: 300px;
                background-color: green;
                position: absolute;
                right: 0;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>
                <a href="#">alex</a>
                <div class="list">
                    <p>个人中心</p>
                    <p>账号设置</p>
                    <p>意见反馈</p>
                    <p>退出</p>
                </div>
            </li>
        </ul>
        <script src="./libs/jquery-3.3.1.js"></script>
        <script>
            $(function () {
    
    
    
                // 冒泡导致了问题
                // 鼠标穿过备选元素 或者是被选的子元素
                // $('ul li').mouseover(function () {
                //     console.log('进来了')
                //     $('ul li .list').show();
                // })
                //  $('ul li').mouseout(function () {
                //     console.log('出去了')
                //     $('ul li .list').hide();
                // })
    
                  $('ul li').mouseenter(function () {
                    console.log('进来了')
                    $('ul li .list').show();
                })
                 $('ul li ').mouseleave(function () {
                    console.log('出去了')
                    $('ul li .list').hide();
                })
            })
    
        </script>
    
    </body>
    </html>
    View Code

       双击的问题 dblclick

      

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button>按钮</button>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
            $('button').click(function () {
                console.log('单击了');
            });
    
            $('button').dblclick(function () {
                console.log('双击了');
            })
        })
    </script>
    </body>
    </html>
    view code

       解决单双击事件冲突

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button>按钮</button>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
            // 双击时候 出现两次单击(干掉)
            var time = null;
            //双击  ---》( 1次单击+(小于200ms)1次单击)
            $('button').click(function () {
                // 取消上次延时未执行的方法
                clearTimeout(time);
                //执行延时
                time = setTimeout(function () {
                    //do function在此处写单击事件要执行的代码
                    console.log('单机')
                }, 300);
            });
    
            $('button').dblclick(function(){
                clearTimeout(time)
    
                console.log('双击了')
            })
    
    
    
    </script>
    </body>
    </html>
    网络版
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button>按钮</button>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        // 双击时候 出现两次单击(干掉)
        var timer = null;
        //双击  ---》( 1次单击+(小于500ms)1次单击)
        $('button').click(function () {
            //取消上次延时未执行的方法
            clearTimeout(timer);
            //执行延时
            timer = setTimeout(function () {
                //do function在此处写单击事件要执行的代码
                console.log('单击了');
            },500);
        });
    
        $('button').dblclick(function () {
            clearTimeout(timer);
            console.log('双击了')
        })
    </script>
    
    </body>
    </html>
    亲测版本--双击事件是第一次单击后500ms内触发第二次单击

      单双击 冲突的解决

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button>按钮</button>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
            // 双击时候 出现两次单击(干掉)
            var time = null;
            //双击  ---》( 1次单击+(小于200ms)1次单击)
            $('button').click(function () {
                // 取消上次延时未执行的方法
                clearTimeout(time);
                //执行延时
                time = setTimeout(function () {
                    //do function在此处写单击事件要执行的代码
                    console.log('单机')
                }, 300);
            });
    
            $('button').dblclick(function(){
                clearTimeout(time)
    
                console.log('双击了')
            })
    
    
    
    </script>
    </body>
    </html>
    View Code

      冒泡

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            * {
                padding: 0;
                margin: 0;
            }
    
            .fuBox {
                width: 100%;
                height: 300px;
                background-color: red;
                position: fixed;
                top: 0;
                left: 0;
                display: none;
            }
    
            .fuBox .container {
                width: 1000px;
                margin: 0 auto;
                position: relative;
            }
    
            .fuBox .container span {
                position: absolute;
                right: 0;
                top: 30px;
                cursor: pointer;
                color: #0086b3;
                font-weight: bold;
            }
    
    
        </style>
    </head>
    <body style="height: 2000px;">
    <button class="changefu">换肤</button>
    <div class="fuBox">
        <div class="container">
            <ul>
                <li>热门</li>
                <li>热门</li>
                <li>热门</li>
            </ul>
            <span>收起</span>
        </div>
    </div>
    <script src="./libs/jquery-3.3.1.js"></script>
    <script>
        $(function () {
    
            changeFu();
    
    
            function changeFu() {
    
                $('.changefu').click(function (e) {
                    e.stopPropagation();
                    $('.fuBox').stop().slideDown(400);
                });
    
                $('.fuBox .container span, body').click(function (e) {
                    $('.fuBox').stop().slideUp(400);
                });
    
                $('.fuBox').click(function (e) {
                    e.stopPropagation();
                });
    
                $('.fuBox .container ul li').click(function (e) {
                    e.stopPropagation();
                    alert(1);
                })
    
    
            }
        })
    </script>
    
    </body>
    </html>
    换肤下拉
  • 相关阅读:
    C# 产生JSON串
    JS JSON的一些操作
    这两天整合高德的一些功能
    图片压缩传输
    服务器远程调试
    Swagger的使用和部署
    Springcloud多模块整合mybatis-plus
    Spring Alibaba Nacos + Seata 1.4.0搭建使用
    java11开箱简评
    npm介绍及安装使用
  • 原文地址:https://www.cnblogs.com/surasun/p/9959371.html
Copyright © 2011-2022 走看看