JQuery學(xué)習(xí)(一)

1.導(dǎo)入js文件

(1)將jquery-1.8.3.js文件放入項目的js目錄下
(2)引入js文件

    <script type="text/javascript" src="../../js/jquery-1.8.3.js"></script>

(3)測試代碼

<script>
        $(function () {
            alert("Hello Query");
        });
    </script>

(4)測試結(jié)果


image.png

2.JQuery加載比JS快

原因:JQuery是當(dāng)整個dom樹結(jié)構(gòu)加載完畢就會加載介衔,JS在整個頁面加載完畢后<包括里面的其他內(nèi)容吟策,比如圖片>
測試代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS與JQ加載區(qū)別</title>
    <script type="text/javascript" src="../../js/jquery-1.8.3.js"></script>
    <script>
        //傳統(tǒng)JS加載方式
        window.onload = function () {
            alert("測試JS加載方式");
        }
        //JQ加載方式
        jQuery(document).ready(function () {
            alert("測試JQ加載方式")
        })
    </script>
</head>
<body>

</body>
</html>

測試結(jié)果:優(yōu)先顯示JQuery加載內(nèi)容


image.png

3.JQuery加載方式

(1)JQuery簡寫為$:

JQuery(document)  與$(document)表達(dá)一致

(2)JQuery加載不存在覆蓋問題,順序執(zhí)行

 //JQ加載方式: 順序執(zhí)行粮宛,先彈出“測試JQ加載方式”
        jQuery(document).ready(function () {
            alert("測試JQ加載方式");
        })
        $(document).ready(function () {
            alert("測試JQ$加載");
        })

(3) jQuery(document).ready簡寫為$:

        $(function () {
            alert("測試簡寫JQuery(Document).ready")
        })

4.JQuery獲取元素 $("#btn"),btn為元素id

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JQ的獲取</title>
    <script type="text/javascript" src="../../js/jquery-1.8.3.js"></script>
    <script>
        //1.傳統(tǒng)方式獲取
        $(function () {
            document.getElementById("btn").onclick=function () {
                location.href="JS與JQ加載區(qū)別.html";
            }
        })
        //2.JQuery方式獲取  ->$("#btn")
        $(function () {
            $("#btn").click(function () {
                location.href="JS與JQ加載區(qū)別.html";
            })
        })
    </script>
</head>
<body>
    <input type="button" value="點我有驚喜" id="btn" />
</body>
</html>

5.DOM對象和JQuery對象的轉(zhuǎn)換

(1)DOM對象無法直接操作JQuery對象的屬性和方法;JQuery無法操作JS對象的屬性和方法
(2)轉(zhuǎn)換示例:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>DOM對象和JQuery對象的轉(zhuǎn)換</title>
    <script type="text/javascript" src="../../js/jquery-1.8.3.js"></script>
    <script>
        function write1() {
            //1.JS的DOM操作
             document.getElementById("span1").innerHTML="哈哈哈哈";
            //DOM對象轉(zhuǎn)化為JQuery對象
            var spanEle=document.getElementById("span1");
            $(spanEle).html("測試哈哈哈哈");
        }

        $(function () {
            $("#btn").click(function () {
                $("#span1").html("呵呵呵呵");
                //JQuery對象向DOM對象轉(zhuǎn)換方式一
                $("#span1").get(0).innerHTML="測試呵呵呵呵";
                //JQuery對象向DOM對象轉(zhuǎn)換方式二
                $("#span1")[0].innerHTML="測試呵呵呵呵2";
            });
        });
    </script>
</head>
<body>
    <input type="button" value="JS寫入" onclick="write1()"/>
    <input type="button" value="JQuery寫入" id="btn"><br />
    測試:<span id="span1">測試代碼</span>
</body>
</html>

練習(xí)示例:使用JQuery完成首頁定時彈出廣告圖片位置

準(zhǔn)備:定時彈出的廣告代碼

<!--定時彈出廣告圖片位置-->
            <img src="../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg" width="100%" style="display: none" id="img2"/>

(1)導(dǎo)入JQuery

        <script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>

(2)書寫廣告顯示的定時操作

$(function () {
                time = setInterval("showAD()",3000);
            })

(3)書寫顯示廣告圖片的函數(shù)

function showAD() {
                //3.獲取廣告圖片,并讓其顯示
                $("#img2").show(1000);
                //4.書寫清除廣告顯示的定時操作
                clearInterval(time);
                //5.書寫廣告隱藏的定時操作
                time = setInterval("hiddAD()",3000);
            }

show()顯示的無動畫版本
show(speed,[callback]) 顯示的動畫版本饵沧,speed取值:slow、normal赌躺、fast或表示動畫時長的毫秒值(1000)
(4)書寫隱藏廣告圖片函數(shù)

function hiddAD() {
                $("#img2").hide();
                clearInterval(time);
            }

hide()顯示的無動畫版本
hide(speed,[callback]) 顯示的動畫版本狼牺,speed取值:slow、normal礼患、fast或表示動畫時長的毫秒值(1000)

示例完整代碼:

<script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>
<script>
            //1.書寫廣告顯示的定時操作
            $(function () {
                time = setInterval("showAD()",3000);
            })
            //2.書寫顯示廣告圖片的函數(shù)
            function showAD() {
                //3.獲取廣告圖片是钥,并讓其顯示
                $("#img2").show(1000);
                //4.書寫清除廣告顯示的定時操作
                clearInterval(time);
                //5.書寫廣告隱藏的定時操作
                time = setInterval("hiddAD()",3000);
            }
            //6.書寫隱藏廣告圖片的函數(shù)
            function hiddAD() {
                $("#img2").hide();
                clearInterval(time);
            }
</script>

6.toggle方法的使用

用途:內(nèi)容的顯示和隱藏
示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Toggle的使用</title>
    <style>
        div{
            border: 1px solid white;
            width: 500px;
            height: 350px;
            margin: auto;
            text-align: center;
        }
    </style>
    <script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>
    <script>
        $(function () {
            $("#btn").click(function () {
                $("#img1").toggle();
            })
        })

    </script>
</head>
<body>
    <div>
        <input type="button" value="顯示/隱藏" id="btn"/><br/>
        <img src="../img/飛機(jī)05.gif" width="100%" height="100%" id="img1">
    </div>
</body>
</html>

7.選擇器的基本類型

(1)#id 根據(jù)id選擇
(2)element
(3).class
(4)* --匹配所有的元素
(5)select1,select2,selectN --將所有選擇的元素一起返回(并)
示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>基本選擇器</title>
        <link rel="stylesheet" href="../../css/style.css" />
        <script type="text/javascript" src="../../js/jquery-1.8.3.js" ></script>
        <script>
            //id選擇器
            $(function () {
                $("#btn1").click(function () {
                    $("#one").css("background-color","red");
                })
            });
            //類選擇器
            $(function () {
                $("#btn2").click(function () {
                    $(".mini").css("background-color","blue");
                })
            })
            //element選擇器
            $(function () {
                $("#btn3").click(function () {
                    $("div").css("background-color","yellow");
                })
            })
            //選擇所有元素
            $(function () {
                $("#btn4").click(function () {
                    $("*").css("background-color","pink");
                })
            })
            //選擇幾個元素
            $(function () {
                $("#btn5").click(){
                   $(".mini,#two").css("background-color","pink");
                }
            })
        </script>
    </head>
    <body>
        <input type="button" id="btn1" value="選擇為one的元素"/>
        <input type="button" id="btn2" value="選擇樣式為mini的元素"/>
        <input type="button" id="btn3" value="選擇所有的div元素"/>
        <input type="button" id="btn4" value="選擇所有元素"/>
        <input type="button" id="btn5" value="選擇id為two并且樣式為mini的元素"/>
        <hr/>
        <div id="one">
            <div class="mini">
                111
            </div>
        </div>
        <div id="two">
            <div class="mini">
                222
            </div>
            <div class="mini">
                333
            </div>
        </div>
        <div id="three">
            <div class="mini">
                444
            </div>
            <div class="mini">
                555
            </div>
            <div class="mini">
                666
            </div>
        </div>
        <span id="four">
        </span>
    </body>
</html>

8.層級選擇器

(1)在給定的祖先元素下匹配所有的后代元素 (匹配子元素、子元素的子元素等所有后代元素) ---“ ” 空格
(2)在給定父元素下匹配所有的子元素 (匹配子元素) --">"
(3)匹配所有緊接在prev元素后的next元素(匹配相鄰元素) --“+”
(4)匹配prev元素之后的所有siblings元素(匹配當(dāng)前元素的同輩元素) --“~”
示例代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>層級選擇器</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
        <script type="text/javascript" src="../../js/jquery-1.8.3.js" ></script>
        <script type="text/javascript">
            //選擇所有后代元素
            $(function () {
                $("#btn1").click(function () {
                    $("body div").css("background-color","gold");
                })
            })
            //選擇子元素
            $(function () {
                $("#btn2").click(function () {
                    $("body>div").css("background-color","red");
                })
            })
            //選擇相鄰元素
            $(function () {
                $("#btn3").click(function () {
                    $("#two+div").css("background-color","blue");
                })
            })
            //選擇所有同級元素
            $(function () {
                $("#btn4").click(function () {
                    $("#one~div").css("background-color","pink");
                })
            })
        </script>
    </head>
    <body>
        <input type="button" id="btn1" value="選擇body中的所有的div元素"/>
        <input type="button" id="btn2" value="選擇body中的第一級的孩子"/>
        <input type="button" id="btn3" value="選擇id為two的元素的下一個元素"/>
        <input type="button" id="btn4" value="選擇id為one的所有的兄弟元素"/>
        <hr/>
        <div id="one">
            <div class="mini">
                111
            </div>
        </div>
        <div id="two">
            <div class="mini">
                222
            </div>
            <div class="mini">
                333
            </div>
        </div>
        <div id="three">
            <div class="mini">
                444
            </div>
            <div class="mini">
                555
            </div>
            <div class="mini">
                666
            </div>
        </div>
        <span id="four">
        </span>
    </body>
</html>

9.基本過濾選擇器

(1)“:first” 獲取匹配的第一個元素
(2)“:last” 獲取匹配的最后一個元素
(3)“:even” 獲取匹配索引值的偶數(shù)元素缅叠,從0開始計數(shù)悄泥,即第1、3痪署、5個索引
(4)“:odd”獲取匹配索引值的奇數(shù)元素码泞,從0開始奇數(shù),即0狼犯、2余寥、4個索引
示例代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>層級選擇器</title>
        <link rel="stylesheet" href="../../css/style.css" type="text/css"/>
        <script type="text/javascript" src="../../js/jquery-1.8.3.js" ></script>
        <script type="text/javascript">
            $(function () {
                $("#btn1").click(function () {
                    $("body div:first").css("background-color","gold");
                })
            })
            $(function () {
                $("#btn2").click(function () {
                    $("body div:last").css("background-color","red");
                })
            })
            $(function () {
                $("#btn3").click(function () {
                    $("body div:odd").css("background-color","blue");
                })
            })
            $(function () {
                $("#btn4").click(function () {
                    $("body div:even").css("background-color","pink");
                })
            })
        </script>
    </head>
    <body>
        <input type="button" id="btn1" value="body中的第一個div元素"/>
        <input type="button" id="btn2" value="body中的最后一個div元素"/>
        <input type="button" id="btn3" value="選擇body中的奇數(shù)的div"/>
        <input type="button" id="btn4" value="選擇body中的偶數(shù)的div"/>
        <hr/>
        <div id="one">
            <div class="mini">
                111
            </div>
        </div>
        <div id="two">
            <div class="mini">
                222
            </div>
            <div class="mini">
                333
            </div>
        </div>
        <div id="three">
            <div class="mini">
                444
            </div>
            <div class="mini">
                555
            </div>
            <div class="mini">
                666
            </div>
        </div>
        <span id="four">
        </span>
    </body>
</html>

10.屬性選擇器

示例代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>層級選擇器</title>
        <link rel="stylesheet" href="../../css/style.css" />
        <script type="text/javascript" src="../../js/jquery-1.8.3.js" ></script>
        <script>
            $(function () {
                $("#btn1").click(function () {
                    $("div[id]").css("background-color","red");
                })
            })
            $(function () {
                $("#btn2").click(function () {
                    $("div[id=two]").css("background-color","pink");
                })
            })
        </script>
    </head>
    <body>
        <input type="button" id="btn1" value="選擇有id屬性的div"/>
        <input type="button" id="btn2" value="選擇有id屬性的值為two的div"/>
        <hr/>
        <div id="one">
            <div class="mini">
                111
            </div>
        </div>
        <div id="two">
            <div class="mini">
                222
            </div>
            <div class="mini">
                333
            </div>
        </div>
        <div id="three">
            <div class="mini">
                444
            </div>
            <div class="mini">
                555
            </div>
            <div class="mini">
                666
            </div>
        </div>
        <span id="four">
        </span>
    </body>
</html>

11.練習(xí):表單隔行換色實現(xiàn)代碼

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>使用jQuery完成表格隔行換色</title>
        <link rel="stylesheet" href="../css/style.css" />
        <script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>
        <script>
            $(function () {
                //實現(xiàn)方式一:直接更改css樣式
                //獲取tbody下面的偶數(shù)行并設(shè)置背景顏色
                $("tbody>tr:even").css("background-color","yellow");
                //獲取tbody下面的奇數(shù)行并設(shè)置背景顏色
                $("tbody>tr:odd").css("background-color","green");

                //實現(xiàn)方式二:引用CSS文件中的樣式
                //獲取tbody下面的偶數(shù)行并設(shè)置背景顏色
                $("tbody>tr:even").addClass("even");
                //獲取tbody下面的奇數(shù)行并設(shè)置背景顏色
                $("tbody>tr:odd").addClass("odd");

            })
        </script>

    </head>
    <body>
        <table border="1" width="500" height="50" align="center" id="tbl" id="tbl">
            <thead>
                <tr>
                    <th>編號</th>
                    <th>姓名</th>
                    <th>年齡</th>
                </tr>
            </thead>
            <tbody>
                <tr >
                    <td>1</td>
                    <td>張三</td>
                    <td>22</td>
                </tr>
                <tr >
                    <td>2</td>
                    <td>李四</td>
                    <td>25</td>
                </tr>
                <tr >
                    <td>3</td>
                    <td>王五</td>
                    <td>27</td>
                </tr>
                <tr >
                    <td>4</td>
                    <td>趙六</td>
                    <td>29</td>
                </tr>
                <tr >
                    <td>5</td>
                    <td>田七</td>
                    <td>30</td>
                </tr>
                <tr >
                    <td>6</td>
                    <td>汾九</td>
                    <td>20</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>

實現(xiàn)方式二說明(常用):
在.css文件中添加樣式如下:

.even       { background:#FFF38F;}  /* 偶數(shù)行樣式*/
.odd        { background:#FFFFEE;}  /* 奇數(shù)行樣式*/
.selected       { background:#FF6500;color:#fff;}

addClass():為每個匹配的元素添加指定的類名
添加類名后即可直接使用css文件中的樣式

12.練習(xí):全選和全不選

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>使用jQuery完成復(fù)選框的全選和全不選</title>
        <script type="text/javascript" src="../js/jquery-1.8.3.js" ></script>
        <!--<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>-->
        <script>
            $(function () {
                //獲取tbody所有的復(fù)選框,并將其屬性設(shè)置為編號前即class=select的復(fù)選框的屬性已知
                $("#select").click(function () {
                    //attr是否有效與JQuery版本有關(guān)悯森,在1.8.3及以下有效
                    // $("tbody input").attr("checked",this.checked);  //說明:此處的this指代的是class=select的復(fù)選框
                    //prop所有版本都支持宋舷,建議使用prop
                    $("tbody input").prop("checked",this.checked);
                });
            });

        </script>

    </head>
    <body>
        <table border="1" width="500" height="50" align="center" id="tbl" >
            <thead>
                <tr>
                    <td colspan="4">
                        <input type="button" value="添加" />
                        <input type="button" value="刪除" />
                    </td>
                </tr>
                <tr>
                    <th><input type="checkbox" id="select"></th>
                    <th>編號</th>
                    <th>姓名</th>
                    <th>年齡</th>
                </tr>
            </thead>
            <tbody>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>1</td>
                    <td>張三</td>
                    <td>22</td>
                </tr>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>2</td>
                    <td>李四</td>
                    <td>25</td>
                </tr>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>3</td>
                    <td>王五</td>
                    <td>27</td>
                </tr>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>4</td>
                    <td>趙六</td>
                    <td>29</td>
                </tr>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>5</td>
                    <td>田七</td>
                    <td>30</td>
                </tr>
                <tr >
                    <td><input type="checkbox" class="selectOne"/></td>
                    <td>6</td>
                    <td>汾九</td>
                    <td>20</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瓢姻,隨后出現(xiàn)的幾起案子祝蝠,更是在濱河造成了極大的恐慌,老刑警劉巖幻碱,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绎狭,死亡現(xiàn)場離奇詭異,居然都是意外死亡褥傍,警方通過查閱死者的電腦和手機(jī)儡嘶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恍风,“玉大人蹦狂,你說我怎么就攤上這事誓篱。” “怎么了凯楔?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵窜骄,是天一觀的道長。 經(jīng)常有香客問我摆屯,道長邻遏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任虐骑,我火速辦了婚禮党远,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘富弦。我一直安慰自己沟娱,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布腕柜。 她就那樣靜靜地躺著济似,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盏缤。 梳的紋絲不亂的頭發(fā)上砰蠢,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天,我揣著相機(jī)與錄音唉铜,去河邊找鬼台舱。 笑死,一個胖子當(dāng)著我的面吹牛竞惋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灰嫉,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼拆宛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了讼撒?” 一聲冷哼從身側(cè)響起浑厚,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎根盒,沒想到半個月后钳幅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炎滞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年敢艰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厂榛。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡盖矫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出击奶,到底是詐尸還是另有隱情辈双,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布柜砾,位于F島的核電站湃望,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏痰驱。R本人自食惡果不足惜证芭,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望担映。 院中可真熱鬧废士,春花似錦、人聲如沸蝇完。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽短蜕。三九已至氢架,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間朋魔,已是汗流浹背岖研。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留警检,地道東北人孙援。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像扇雕,于是被迫代替她去往敵國和親赃磨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,654評論 2 354