2017.12.21-JQuery

来源:http://www.cnblogs.com/Time_1990/archive/2017/12/21/8078392.html
-Advertisement-
Play Games

下午001-動態操作元素 創建元素:$('標簽字元串')添加元素:append(),appendTo():追加子元素prepend(),prependTo():前加子元素after(),insertAfter():後加兄弟元素before(),insertBefore():前加兄弟元素動態刪除元素e ...


作業:密碼加強驗證

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script>
        onload = function () {
            //為文本框註冊失去焦點事件,失去焦點時,進行密碼驗證
            document.getElementById('txtPwd').onblur = function () {
                var msg = this.value;
                //獲取提示框
                var msgPwd = document.getElementById('msgPwd');
                if (msg.length < 6) {
                    msgPwd.innerText = '弱爆了!!!';
                } else
                {
                    //純字元:弱;兩種混合:中;三種混合:強。
                    //if (/^[a-zA-Z]+$/.test(msg)
                    //    || /^[0-9]+$/.test(msg)
                    //    || /^[!@#$%^&*()]+$/.test(msg)
                    //)
                    //{
                    //    msgPwd.innerText = "弱";
                    //}
                    var pwd = 0;
                    if (/[a-zA-Z]/.test(msg))
                    {
                        pwd++;//有一個字母
                    }
                    if (/[0-9]/.test(msg)) {
                        pwd++;//有一個數字
                    }
                    if (/[!@#$%^&*()]/.test(msg)) {
                        pwd++;//有一個特殊字元
                    }
                    switch (pwd) {
                        case 1: msgPwd.innerText = "弱";
                            break;
                        case 2: msgPwd.innerText = "中";
                            break;
                        case 3: msgPwd.innerText = "強";
                            break;
                        default:
                    }
                }
            };
        };
    </script>
</head>
<body>
    <input type="text" id="txtPwd" name="name" value="" />
    <span id="msgPwd"></span>
</body>
</html>



【2017.12.23--JQuery 01】

第一:什麼是JQuery
1、當前應用非常廣泛的一個js類庫,封裝了大量方法,可以快速完成常用功能;
2、在使用前需要先引入jquery.js文件,才可以使用這個庫中的成員;
3、$對象是jquery對象的簡寫方式,一般都使用$而不書寫jquery,簡便快捷。

第二:為什麼使用它?
1、官方網址:http://jquery.com/,很好地解決了瀏覽器相容問題;
2、體積小,使用方便(Write Less,Do More)
3、鏈式編程,隱式迭代,插件豐富,開源,免費
4、註意:只是為常用操作提供了方法,並不能實現所有操作,如果沒有實現的操作,還需要手寫js
   已經在vs的項目框架中集成了jquery

第三:主要功能
1、對象處理
2、屬性、css
3、選擇器、篩選
4、文檔處理
5、事件
6、效果
7、ajax
8、工具

第四:具體實現
1、基本選擇器
使用$('選擇器')符號進行篩選,用於獲取頁面上的標簽,返回一個jq對象
id選擇器:#id
元素選擇器:標簽
類選擇器:.class
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>//使用 JQuery 必需引入jquery庫文件
    <script>
        onload = function () {
            //jquery對象:本質就是DOM的一個數組
            //js對象;dom對象:操作HTML的對象
            //通過jquery選擇器得到的都是jquery對象,可以使用juerqy提供的方法
            $('#btnShow').click = function () {
            }
        };
    </script>
</head>
<body>
    <input type="button" name="name" id="btnShow" value="" />
</body>
</html>

2、屬性操作
用於對標簽元素的屬性進行操作
獲取屬性值:attr(屬性)
設置屬性值:attr(屬性,值)
如果是操作標簽的值可以簡寫為:text(),html()
如果是操作控制項的值可以簡寫為:val()
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
</head>
<body>
    <input type="button" id="btnShow" name="name" value="顯示" />
    <img src="images/1.jpg" />
    <script>
        //操作屬性
        //獲取屬性的值;只寫第一個參數,屬性的名字
        alert($('#btnShow').attr('value'));
        //設置屬性的值:寫兩個參數,第一個參數表示屬性的名字,第二個表示值
        $('#btnShow').attr('value', "Hello World");
        //prop表示html的原有屬性,attr而表示擴展屬性
        //如:img的src操作使用prop,2而href操作使用attr
        $('#img').attr('href', 'abc');
        //移除屬性
        $('#btnShow').removeAttr('value');
    </script>
</body>
</html>

3、事件註冊處理程式
方式一: bind(事件類型,處理函數) 
方式二:事件類型(處理函數)
事件類型與dom的相同,去掉on首碼
卸載事件處理程式
unbind();//移除所有事件處理程式
unbind(‘click’);//移除所有的click事件處理程式
unbind('click',函數名稱);//移除click事件的指定名稱的處理函數,這種方法無法移除匿名函數
說明:dom事件不支持多播,而jquery事件支持多播
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
</head>
<body>
    <input type="button" id="btnShow" name="name" value="顯示" />
    <script>
       alert( $('#btnShow').attr('value'));
        ////對於value屬性的一種簡寫操作
        //alert($('#btnShow').val());
        //為按鈕綁定點擊事件
        $('#btnShow').click(function () {
            alert(this.value);//this是dom對象,不能調用jquery的成員
        });
        //dom的事件註冊:一個事件只能註冊一個處理函數,不支持多播
        document.getElementById('btnShow').onclick = function () {
            alert(1);
        };
        document.getElementById('btnShow').onclick = function () {
            alert(2);
        };
        //jquery事件註冊:支持多播,一個事件可以指定多個處理函數
        $('#btnShow').click(function () {
            alert(3);
        });
        $('#btnShow').click(function () {
            alert(4);
        });
    </script>
</body>
</html>

4、頁面載入事件
js方式:window.onload=fn;
jq方式:$(document).ready(fn);->可簡寫為$(fn);
區別一:window.onload表示頁面所有資源載入完成後才會被觸發執行;$(fn)表示只要文檔結構載入完成後就會執行,即所有標簽載入完成
區別二:window.onload重覆賦值會被覆蓋,即不支持多播委托;$(fn)可以添加多個事件處理程式,即在jq中定義的事件支持多播
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        //為window的onload事件註冊處理函數,表示頁面載入完畢後觸發執行
        //標簽載入完成,並且標簽指定的資源也要載入完成,才能註冊事件
        onload = function () {
        };
        //表示載入完成後執行此代碼,(dom就緒)只要標簽載入完成後 即可註冊(效率比較高)
        $(document).ready(function () {
        });
        //簡寫如下
        $(function () {
            $('#btnShow').click(function () {
                alert(123);
            });
        });
    </script>
</head>
<body>
    <input type="button" id="btnShow" name="name" value="" />
</body>
</html>

5、示例
點誰誰哭
點擊按鈕,設置div中的內容text(),html()
點擊按鈕,讓所有的p中都顯示“我們都是P”
例子1:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        //表示載入就緒,是ready的簡寫
        $(function () {
            //獲取所有按鈕,得到jquery對象,為對象註冊點擊事件
            //隱式迭代:自動將數組當的每個元素都執行一遍操作
            //當前:會將數組中的每個input進行click綁定
            $('input').click(function () {
                //將當前點擊的按鈕的文本變成嗚嗚
                //this表示觸發當前事件的dom對象
                this.value = '嗚嗚';
            });
        });
    </script>
</head>
<body>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
    <input type="button" value="哈哈"/>
</body>
</html>
例子2:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function() {
            $('#btnShow').click(function () {
                //對於標簽對,使用text()、html()進行設置或獲取
                $('#txt1').text('這是個div');
            });
        });
    </script>
</head>
    <body>
        <input type="button" id="btnShow" value="顯示" />
        <div id="txt1"></div>
    </body>
</html>

DOM對象與JQ對象的轉換
為什麼要轉換呢?
為了使用jq中的方法,需要將dom對象轉換成jq對象
jq並沒有完成所有操作的封裝,需要將jq對象轉換成dom對象,再調用dom方法
dom->jq:$(dom對象名稱)
jq->dom:jq對象.get(index)或jq對象[index]
對於dom對象,有屬性、事件成員
對於jq對象,只有方法成員
例子3:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //將jquery對象轉換成dom對象:通過[下標]的形式返回dom對象
            //通過jquery的選擇器得到的數組,才是jquery對象,才可以調用jquery的成員
            //將dom對象轉換成jquery對象:$(dom對象)
            $('#btnShow').click(function() {
                $('p').text('都是P');//隱式迭代
                $(this).val('abc');

                var temp = [1, 2, 3];
            });
        });
    </script>
</head>
<body>
    <input type="button" id="btnShow" value="都是P"/>
    <p>p1</p>
    <p>p2</p>
    <p>p3</p>
    <p>p4</p>
    <p>p5</p>
</body>
</html>

6、合成事件處理程式
hover(fn1,fn2):fn1表示mouseover的處理函數,fn2表示mouseout的處理函數
toggle(fn1,fn2...fnN):當元素被click後,輪流執行fn1、fn2、fnN方法
one(type,fn):表示註冊的事件只響應一次,然後失效,type表示事件類型
例子:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //合成指向、移開事件
            //$('#btnShow').hover(function() {//指向
            //    this.style.color = 'red';
            //}, function() {//移開
            //    this.style.color = 'black';
            //});
            
            //合成點擊事件,指定在n個函數間切換,點擊次數為m
            //$('#btnShow').toggle(function() {//第m%n==1次點擊時執行此函數
            //    alert(1);
            //}, function() {//第m%n==2次點擊執行此函數
            //    alert(2);
            //}, function() {//第m%n==0次點擊執行此函數
            //    alert(3);
            //});
            
            //合成事件:只將綁定的事件執行一次
            //$('#btnShow').one('click', function() {
            //    alert(1);
            //});
        });
    </script>
</head>
<body>
    <input type="button" id="btnShow" value="顯示"/>
</body>
</html>

7、調用JS成員
直接使用,不需要任何轉換,因為jq就是js
如:array是js對象,不需要進行jq轉換
如:方法parseInt()是js中的方法,在jq編碼時可以直接使用
例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //找到按鈕,並綁定點擊事件
            $('#btnShow').click(function() {
                //找到文本框並獲取值
                var num = parseInt($('#txtNum').val());//直接調用js的成員進行操作
                num++;
                //將值顯示到文本框
                $('#txtNum').val(num);//傳遞參數時,表示將值賦給value
            });
        });
    </script>
</head>
<body>
    <input type="text" id="txtNum"/><input type="button" id="btnShow" value="顯示"/>
</body>
</html>
示例:加法計算器
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //為按鈕綁定點擊事件
            $('#btnAdd').click(function () {
                //獲取文本框中的值,並轉換成整數
                var num1 = parseInt($('#txtNum1').val());
                var num2 = parseInt($('#txtNum2').val());
                //運算
                var result = num1 + num2;
                //顯示
                $('#txtResult').val(result);
            });
        });
    </script>
</head>
<body>
    <input type="text" id="txtNum1"/>+
    <input type="text" id="txtNum2"/>
    <input type="button" id="btnAdd" value="="/>
    <input type="text" id="txtResult"/>
</body>
</html>


8、文檔處理
創建元素:$('標簽字元串')
添加元素:
append(),appendTo():追加子元素
prepend(),prependTo():前加子元素
after(),insertAfter():後加兄弟元素
before(),insertBefore():前加兄弟元素
動態刪除元素
empty():清空子元素
remove(selector):刪除當前元素,無參表示刪除全部,有參表示刪除符合條件的元素
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('#btnAppend').click(function () {
                //動態創建Jquery對象
               var hello= $('<b>Hello World</b>');
                //追加:在子元素中,顯示結果: 你好!!!Hello World,在div文本之後追加
               $('#divContainer').append(hello);
                //追加:在子元素中,顯示結果: Hello World 你好!!!,在div文本之前追加
               $('#divContainer').prepend('preappend');
               //追加:在元素中,顯示結果: 你好!!!Hello World,在div文本之後追加
               $('#divContainer').insertAfter('insertAfter');
               //追加:在同級元素中,顯示結果: Hello World 你好!!!,在div文本之前追加
               $('#divContainer').insertBefore('insertBefore');
            });
            $('#btnAppendTo').click(function () {
                //追加到:
                $('<b>Hello World</b>').appendTo('#divContainer');
                $('<b>Hello World</b>').prependTo('#divContainer');
            });
            $('#btnEmpty').click(function () {
                //清空元素
                $('#divContainer').empty();
            });
            $('#btnRemove').click(function () {
                //移除元素
                $('#divContainer').remove($('b'));
            });
        });
    </script>
</head>
<body>
    <input type="button" id="btnAppend"  value="Append" />
    <input type="button" id="btnAppendTo" value="AppendTo" />
    <input type="button"  id="btnEmpty" value="Empty" />
    <input type="button" name="name" id="btnRemove" value="remove" />
    <div id="divContainer">你好!!!</div>

</body>
</html>

9、省市聯動
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        //定義省市數據,鍵值對集合
        var datas = {
            "北京": ["朝陽", "海澱", "昌平", "丰台"],
            "山東": ["青島", "濟南", "煙臺"],
            "山西": ["大同", "太原", "運城", "長治"],
            "河南": ["洛陽", "開封", "鄭州", "駐馬店"],
            "河北": ["石家莊", "張家口", "保定"]
        };
        $(function () {
            //創建省的select
            var select = $('<select id="selectProvince"></select>');
            //為省的select綁定change事件
            select.change(function () {
                var citys = datas[$(this).val()];
                //刪除市的原有option
                $('#selectCity').empty();
                //添加option
                $.each(citys, function (index,item) {
                    $('<option>' + item + '</option>').appendTo(selectCity);
                });
            });
            select.appendTo('body');
            //遍歷集合
            $.each(datas, function (key, value) {
                //根據數據創建option並追加到select上
                $('<option value="' + key + '">' + key + '</option>').appendTo(select);
            });
            //創建市的select
            var selectCity = $('<select id="selectCity"></select>').appendTo('body');
            //獲取選中的省信息
            var pro = $('#selectProvince').val();
            //將省名稱作為建到集合中獲取值
            var citys = datas[pro];
            //遍歷市的數組
            $.each(citys, function (index, item) {
                $('<option>' + item + '</option>').appendTo(selectCity);
            });
        });
    </script>
</head>
<body>

</body>
</html>

10、層級選擇器
符號一:空格,表示取子元素,無論是幾層的子元素,都會被選擇到
符號二:大於號>,表示直接子元素,不包含後代子元素
符號三:加號+,表示之後緊臨的一個同級元素
符號三:波浪號~,表示之後的所有同級元素

next(),表示下一個同級節點
prev(),表示上一個同級節點
nextAll(),表示之後所有同級節點
prevAll(),表示之前所有同級節點
siblings(),表示所有同級節點
parent(),表示父級節點
children(),表示子級節點
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //空格表示查找所有子級
            $('#d1 div');
            //大於號 表示查找直接子級,不包含後代
            $('#d1>div');
            //加號+表示 找到後面緊鄰同級的div,若是沒有則返回空數組
            $('#d1+div');
            //波浪號 表示之後的所有同級元素
            $('#d1~div');
        });
    </script>
</head>
<body>
    <div id="d1">
        <div id="d11"></div>
        <div id="d12">
            <div id="d121"></div>
            <div id="d122"></div>
        </div>
        <div id="d13"></div>
    </div>
    <div id="d2"></div>
    <div id="d3">
        <div id="d31">
            <div id="d311"></div>
            <div id="d312"></div>
            <div id="d313"></div>
        </div>
    </div>
</body>
</html>

11、操作樣式與類
樣式操作:css(),按照鍵值對的格式對樣式進行設置
如果只設置一個樣式,則可直接賦值,如:css('color','red');
如果設置多個樣式,則使用css({鍵1:值1,鍵2:值2})的格式
操作後生成的代碼,都是對標簽的style屬性進行設置
類操作:addClass,hasClass,removeClass,toggleClass
也可以使用屬性方法進行操作:attr('class','className');
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            //設置樣式
            $('#btnShow').css('color', 'grren');
            $('#btnShow').css('background-color', 'red');
            //設置多個樣式
            $('#btnShow').css({
                'color': 'white',
                'background-color': 'blue',
                'font-size':'25px'
            });
        });
    </script>
</head>
<body>
    <input type="button" id="btnShow" name="name" value="顯示" />
</body>
</html>

12、事例實現
示例1:開關燈
按鈕點一下背景變白
再點一下背景變黑
如此往複
例子1:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('#btnLight').click(function () {
                if (this.value == '關燈') {
                    $('body').css('background-color', 'black');
                    $(this).val('開燈');
                } else {
                    $('body').css('background-color', 'white');
                    $(this).val('關燈');
                }
                
            });
        });
        </script>
</head>
<body>
    <input type="button" id="btnLight" name="name" value="關燈" />
</body>
</html>
示例2:點擊按鈕後,讓頁面中所有p的文字都變成黃色,文字都顯示為‘都是P’(體會:鏈式編程)
例子2:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('#btnChange').click(function () {
                //鏈式編程:只查找一次,支持逐個使用方法
                $('p').text('都是P').css('color','yellow');
            });
        });
    </script>
</head>
<body>
    <input type="button" id="btnChange" name="name" value="都是P" />
    <p>P1</p>
    <p>P2</p>
    <p>P3</p>
    <p>P4</p>
    <p>P5</p>
    <p>P6</p>
</body>
</html>
示例3:ul中li的練習
滑鼠指向li時文本變為紅色,提示手圖標
滑鼠移開li時文本變為黑色
點擊li時移到另外一個ul中
例子3:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('li').hover(function () {//指向
                $(this).css({
                    'color': 'red',
                    'cursor': 'pointer'//變成小手
                })
            }, function () {//移開
                $(this).css('color', 'black');
                }).click(function () {//鏈式編程,編寫點擊事件
                    $(this).appendTo('#ul2');
                });
        });
        
    </script>
</head>
<body>
    <ul id="ul1">
        <li>北京</li>
        <li>上海</li>
        <li>廣州</li>
    </ul>
    <ul id="ul2"></ul>
</body>
</html>

13、過濾選擇器
用於對選擇結果執行進一步過濾
:first 第一個、:last 最後一個 、:eq() 搜索第幾個、:gt() 大於、:lt() 小於、:not(選擇器)、:even偶數、:odd奇數
說明1:索引下標從0開始
說明2:以下標判斷奇偶,下標從0開始
標題的快速獲取
普通方法:$('h1,h2,h3...h6')
快捷方法:$(':header')
例子:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('div:first');
        });
    </script>
</head>
<body>
    <div id="d1">
        <div id="d11"></div>
        <div id="d12">
            <div id="d121"></div>
            <div id="d122"></div>
        </div>
        <div id="d13"></div>
    </div>
    <div id="d2"></div>
    <div id="d3">
        <div id="d31">
            <div id="d311"></div>
            <div id="d312"></div>
            <div id="d313"></div>
        </div>
    </div>
</body>
</html>

14、
根據數據生成表格(數據見備註)
使表格中奇偶行顯示不同背景色
當滑鼠指向行時高亮顯示
當滑鼠離開時離開行時恢復到原來顏色
設置列表中前三名粗體顯示
例子1:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        var list = [
            { id: '1', country: '中國', capital: '北京' },
            { id: '2', country: '美國', capital: '華盛頓' },
            { id: '3', country: '日本', capital: '東京' },
            { id: '4', country: '南韓', capital: '首爾' }
        ];

        $(function () {
            //遍歷集合,創建tr跟td
            $.each(list, function (index, item) {
                $(' <tr><td>' + item.id + '</td><td>' + item.country + '</td><td>' + item.capital + '</td></tr>').appendTo('#list');
            });
            //為奇偶行指定不同背景顏色
            $('#list tr:even').css('background-color', 'red');
            $('#list tr:odd').css('background-color', 'green');
            $('#list tr').hover(function () {//移上
                bgcolor = $(this).css('background-color');
                $(this).css('background-color','blue')
            }, function () {//移開
                $(this).css('background-color', bgcolor)
            });
        });
    </script>
</head>
<body>
    <table border="1" >
        <thead>
            <th width="100"> 編號</th>
            <th width="100"> 國家</th>
            <th width="100"> 首都</th>
        </thead>
        <tbody id="list">
           
        </tbody>
    </table>
</body>
</html>

15、
設置ul中的li效果
移上時顯示為紅色背景
此節點之前的節點顯示為黃色背景
此節點之後的節點顯示為藍色背景
移開時全都顯示白色背景
提示:方法end() 恢復到最近的"破壞性"操作之前
例子2:
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="scripts/jquery-1.7.1.min.js"></script>
    <script>
        $(function () {
            $('li').hover(function () {//移上
                $(this).css('background-color', 'red')
                    .prevAll()//這方法找到當前節點的所有節點,破壞了之前的鏈
                    .css('background-color', 'yellow')
                    .end()//恢復最近一次鏈的破壞
                    .nextAll().css('background-color','blue');
            }, function () {//移開
                $(this).css('background-color', 'white').siblings().css('background-color', 'white');
            });
        });
    </script>
</head>
<body>
    <ul id="ul1">
        <li>北京</li>
        <li>上海</li>
        <li>廣州</li>
    </ul>
    <ul id="ul2"></ul>
</body>
</html>

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Request經常都要攜帶Cookie,上面說過request創建時可以通過header設置參數,Cookie也是參數之一。就像下麵這樣: 然後可以從返回的response里得到新的Cookie,你可能得想辦法把Cookie保存起來。但是OkHttp可以不用我們管理Cookie,自動攜帶,保存和更新 ...
  • Try this, it fixed it for me. Open Terminal and run: cd ~ mv .itmstransporter/ .old_itmstransporter/ "/Applications/Xcode.app/Contents/Applications/Ap... ...
  • 引言 Service服務是Android四大組件之一,在Android中有著舉足重輕的作用。Service服務是工作的UI線程中,當你的應用需要下載一個文件或者播放音樂等長期處於後臺工作而有沒有UI界面的時候,你肯定要用到Service+Thread來實現。因此你需要自己在Service服務裡面實現 ...
  • 1、ADB是什麼? ADB,即Android Debug Bridge,它是Android提供的一個通用的調試工具。藉助這個工具可以很好的調試開發程式。它是客戶端/服務端架構的命令工具,主要分三個部分: (1)adb客戶端:運行在我們的開發機器上 (2)adb 伺服器:在開發機器後臺運行的進程 (3 ...
  • 框架依舊在快速更新著:在重構、簡化代碼,統一標準的過程中。中間也遇到各種坑,不過好在一步一腳印的解決了。雖然還有些功能還在思考,不過教程,還是得補上:這篇就寫寫StartController,實現的代碼雖少,但原理很精彩!!! ...
  • private String isRoot(){ String bool = "Root:false"; try{ if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){ bool ...
  • 1、APP跳轉 2、APP功能跳轉 3、系統功能調用 1、APP跳轉 1、被打開方 設置APP的URL Types(設置位置在 “項目 - TARGETS - APP icon - info - (拉到最下)URL Types ”)。 URL Schemes:填上,你要給其他應用調用的URL地址(自 ...
  • 先開一篇,以後再補充。。。 1、如果一個 tableView 對應多個 dataSource 。那麼要考慮,點擊/滑動 切換時,請求返回的數據,是否是當前 “功能選中”的位置。 對比請求前後的欄位、狀態若不是,1)、可丟棄。 2)、可刷新該狀態對應的 dataSource 數組(有的話),下次切換, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...