1. 程式人生 > >【jQuery】jQuery小結

【jQuery】jQuery小結

前言

    jQuery是個什麼啊?是個框架。利用css選擇器查詢DOM物件,對其操作,操作樣式或者增刪方法等等。擁有強大的外掛機制,可以使我們write less, do more。

細數家珍

這裡寫圖片描述

這裡寫圖片描述

(一)框架認識

示例:

//找到button按鈕,註冊事件
$("#verifyButton").click(function(){
    //1.獲取文字框的內容
    var userName = $("#userName").val();
    //2.將這個內容傳送給伺服器端
    if(userName == ""){
    alert("使用者名稱不能為空");
}else
{ $.get("http://127.0.0.1:8080/jQuery/UserVerify?userName=" + encodeURL(userName),null,function(response){ //3.接受伺服器端返回的資料,填充到div中 $("#result").html(response); }) } });

    1.$(.class).click(function(){})
給節點註冊事件,選擇節點用的是css選擇器。
    2.$(“.class”).val()
獲取節點的屬性。

    3.$get(url,data,callback)

前臺和伺服器互動,前臺把要調的後臺地址和引數傳過去,callback返回結果,返回結果是一個動作,要用function。$在這用做方法上。

    4.$(.class).html(response)
給節點返回值的時候用html。

(二)表格

    1.表格的html語法

<html>
  <table>
     <thead>
        <tr>
            <th>標題</th> 
        </tr>  
     </thead>
     <tbody
>
<tr> <th>學號</th> <th>姓名</th> </tr> <tr> <td> </td> <td> </td> </tr> </tbody> </table> </html>

    2.表格的css語法

css
table td{
    border:1px solid black;
    //修正單元格之間的邊框不能合併
    border-collapse:collapse;
}

    3.頁面載入的時候表格奇數行的背景色變化,往當前選中的單元格中新增文字框

//$(function(){})相當於 $(document).ready(function(){});

$(function(){
    //奇數行顏色變化
    $("tbody tr:even").css("background-color","#ECE9D8");

    //找到所有學號的單元格
    var numTd = $("tbody td:even");
    //給這些單元格註冊滑鼠點選事件
    numTd.click(function(){
       //建立一個文字框
       var inputObj = $("<input type = 'text'>");
       //去掉文字框的邊框
       inputObj.css("border-width","0");
       //找到當前滑鼠點選的td,this對應的就是響應了click的那個td
       var tdObj = $(this);
       //講文字框插入到td中
       inputObj.appendTo(tdObj);
       //文字框插入之後就被選中
       inputObj.trigger("focus").trigger("select");
})
})

    appendTo方法是把一個節點新增到另一個節點的子節點的最後。

trigger方法出發JavaScript的某個事件發生。

    4.阻止事件傳遞

numId.click(function(){
    //找到當前滑鼠單擊的td,this 對應的就是響應了click的那個ID
    var tdobj = $(this);
    if (tdobj.children("input").length > 0){
    //當前td中有input,不執行click處理
    return false;
}
});

    如果td中有文字框就不響應td的click事件。
    5.$的作用
    (1)$(function(){}) document裝載完成之後觸發。裡面直接放方法。
     (2)裡面放css選擇器,找到css節點,包裝成jQuery物件。
     (3)裡面放dom物件直接轉換成jQuery物件。
    (4)裡面直接放html文字,會建立dom節點,幷包裝成jQuery物件。

(三)選單

    1.選單語法

<ul>
   <li class = "main">
          <a>選單項1</a>
       <ul>
       <li>選單項11</li>
       <li>選單項12</li>
       </ul>
   </li>
</ul>

    2.屬性

css
.main{
//取消下劃線
text-decoration:none;
//背景圖片
background-image:url(../images/title.gif);
background-repeat:repeat-x;
background-position:3px center;
//清除預設的小圓點
list-style:none;
}

    3. .main a 和 .main > a 的區別
    前者選擇了.main這個class元素下的所有a節點;後者只選擇了.main的子節點中的a節點。
    4.toggle 讓顯示的不顯示,不顯示的顯示

//節點顯示或隱藏可以設定速度
ulNode.show("slow");//fast normal
ulNode.hide();
//ulNode.slideToggle();

    toggle的方法很強大,可以省去我們判斷元素是顯示還是隱藏狀態,直接讓顯示的元素隱藏起來,隱藏的元素顯示出來。使得實現動畫效果更加方便快捷,也是do more, write less的體現。

小結

    對jQuery的感覺就是html是難看的而且還是死的,jQuery使它變美了,並且動起來了。主要是對錶格,選單,標籤頁,下拉框還有彈出框等樣式,彈出或消失的動畫的設計。是一個很棒的框架,省了很多事,它封裝了好多方法。