jQuery

来源:http://www.cnblogs.com/wu770880chuan/archive/2016/07/28/5713216.html
-Advertisement-
Play Games

1、jQuery的基本概念 1.1、什麼是jQuery js的方法庫,封裝了很多js的方法,需要的時候可以直接調用 1.2、使用jQuery的三個步驟 js:當頁面所有元素包括圖片,樣式文件,等所有資源都載入完才開始執行; jQuery:當頁面的文檔樹載入完成後就會執行,並不會等所有的文件都載入完成 ...


1、jQuery的基本概念

1.1、什麼是jQuery

js的方法庫,封裝了很多js的方法,需要的時候可以直接調用

註意事項:方法調用的時候都要帶();

1.2、使用jQuery的三個步驟

//1、 引入jQuery包
<script src="jquery-1.11.1.js"></script>

//2、 入口函數
$(document).ready(function(){});

//3、 書寫函數體
$("#btnShowDiv").click(function () {
    $("div").show(1000);
});
1.2.1、js與jQuery入口函數執行的差別

js:當頁面所有元素包括圖片,樣式文件,等所有資源都載入完才開始執行;

jQuery:當頁面的文檔樹載入完成後就會執行,並不會等所有的文件都載入完成再執行

1.3、jQuery的版本

1.X 支持IE6/7/8

2.X 不支持IE6/7/8

3.0 不支持IE6/7/8

1.4、$符號的本質

$符其實就是一個函數,參數不同,功能不同(常用的幾種功能如下代碼)

註意事項:括弧中的參數為字元串類型的時候不要忘記引號
  $(function() {});//參數是function,說明是入口函數

  $("#btnSetConent");//參數是字元串,並且以#開頭,是一個標簽選擇,查找id=“btnSetContent”的元素

  $("div");//查找所有的div元素

1.5、jQuery對象與DOM對象

1.5.1、使用js方法獲取的頁面元素返回的就是dom對象
var btn = document.getElementById("btnShowDiv");

var divs = document.getElementsByTagName("div");

dom對象只可以使用dom對象的方法和屬性

domObject.innerHTML = "dom對象設置文本";

domObject.style.display= "block";//dom對象顯示對象

domObject.onclick = function() {}//dom對象綁定事件
1.5.2、使用jQuery方法獲取頁面元素返回的就是jQuery對象
註意事項:jQuery對象調用方法的時候,方法記得加().
$("div");//標簽選擇器返回的jquery對象。

$("#btnShowDiv");//id選擇器返回的jquery對象。

jquery對象只能使用jquery對象的方法

var $obj = $("div");

$obj.html("jquery對象設置文本的方法");

$obj.show();//jquery對象顯示文本

$obj.click(function() {});//jquery對象綁定事件
1.5.3、jQuery對象與DOM對象之間的轉換
1、jquery對象轉DOM對象的方法
var $li = $("li");
//第一種方法(推薦使用)

$li[0]
//第二種方法

$li.get(0)
//其實jQuery對象轉DOM對象的實質就是取出jQuery對象中封裝的DOM對象。
2、DOM對象轉jQuery對象的方法
var $obj = $(domObj);

// $(document).ready(function(){});就是典型的DOM對象轉jQuery對象

2、jQuery選擇器

2.1、基本選擇器

  • ID選擇器
    • 用法:$("#ID")
    • 說明:獲取指定的ID,不要忘記引號
  • 類選擇器
    • 用法:$(".類名")
    • 說明:獲取同一類元素
  • 標簽選擇器
    • 用法:$("selecor")
    • 說明:獲取同一類標簽的所有元素
  • 並集選擇器
    • 用法:$("div,p,li")
    • 說明:用逗號分隔,滿足條件的所有的所有的元素都會被選中
  • 交集選擇器
    • 用法:$("div.redClass")
    • 說明:兩個元素之間沒有空格,同時滿足條件的元素才會被選中

2.2、層級選擇器

  • 子代選擇器
    • 用法:$("ul>li")
    • 說明:用>連接,只會選擇到他兒子級的元素,不會選擇到孫子級的元素
  • 後代選擇器
    • 用法:$("ul li")
    • 說明:用空格分隔開來,會選擇到父級元素下所有的子級元素,包含孫子輩等

2.3、過濾選擇器

  • :eq(index)
    • 用法:$("li:eq(2)").css("color", "red")
    • 說明:會選擇到li下麵索引值為2的li標簽,註意:元素的索引值是從0開始
  • :odd
    • 用法:$("li:odd").css("color", "red")
    • 說明:會選中索引值為奇數的元素,索引值是從0開始的,所以在實際現實中表示的是偶數行
  • :even
    • 用法:$("li:even").css("color", "red")
    • 說明:會選中索引值為偶數的元素,索引值是從0開始的,所以在實際現實中表示的是奇數行

2.3、過濾選擇器(是方法)

  • children(selector)
    • 用法:$("ul").children("li")
    • 說明:獲取$("ul")下的所有的兒子級的li,獲取到的是一個集合,相當於$("ul>li"),子類選擇器
  • find(selector)
    • 用法:$("ul").find("li")
    • 說明:獲取的是$("ul")下的所有的li元素包括孫子級,相當於$("ul li")後代選擇器
  • siblings(selector)
    • 用法:$("#first").siblings("li")
    • 說明:獲取的是所有的兄弟節點,並且不包括自身
  • parent()
    • 用法:$("#first").parent()
    • 說明:查找父級節點
  • eq(index)
    • 用法:$("li").eq(2);
    • 說明:相當於$("li:eq(2)"),index從0開始

3、jQuery操作樣式

3.1 設置樣式

  1. 設置單個樣式
    //name:需要設置的樣式名稱
    //value:對應的樣式值
    css(name, value);
    //使用案例
    $("#one").css("background","gray");//將背景色修改為灰色
    
  2. 設置多個樣式
    //參數是一個對象,對象中包含了需要設置的樣式名和樣式值
    css(obj);
    //使用案例
    $("#one").css({
     "background":"gray",
     "width":"400px",
     "height":"200px"
    });
    
  3. 獲取樣式
    /*name:需要獲取的樣式名稱*/
    css(name);
    /*案例*/
    $("div").css("background-color");
    

    註意:獲取樣式操作只會返回第一個元素對應的樣式值

3.2 操作樣式

  1. 添加樣式類
    /*name:需要添加的樣式類名,註意參數不要帶點.*/
    addClass(name);
    /*例子,給所有的div添加one的樣式。*/
    $("div").addClass("one");
    
  2. 移除所有樣式類
    //不帶參數,移除所有的樣式類
    removeClass()
    //例子,移除div所有的樣式類
    $("div").removeClass();
    
  3. 移除單個樣式類
    //name:需要移除的樣式類名
    removeClass("name");
    //例子,移除div中one的樣式類名
    $("div").removeClass("one");
    
  4. 切換樣式類
    //name:需要切換的樣式類名,如果有,移除該樣式,如果沒有,添加該樣式。
    toggleClass(name);
    //例子
    $("div").toggleClass("one");
    
  5. 判斷是否有樣式類
    //name:用於判斷的樣式類名,返回值為true false
    hasClass(name)
    //例子,判斷第一個div是否有one的樣式類
    $("div").hasClass("one");
    

3.3、總結

1. 如果操作到的樣式非常少,可以考慮css方法

2. 如果操作到的樣式非常多,那麼可以通過class方法來操作,將樣式寫到一個class類裡面。

3. 如果考慮到後期維護方便,將css從js中分離出來,那麼推薦使用class的方式來操作。

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

-Advertisement-
Play Games
更多相關文章
  • 步驟: 1.在boost官網下載boost版本,以1.59.0為例。 2.解壓,解壓後可看到文件夾下有個bootstrap.bat文件。 註意: 如果有以下error: 'cl' 不是內部或外部命令,也不是可運行的程式 或批處理文件。 solution: 環境變數中加cl.exe的路徑到path中, ...
  • error1: 進程"C:\Qt\Qt5.4.0\Tools\QtCreator\bin\jom.exe"退出,退出代碼 2 solution:去工具->選項->構建和運行,不要使用jom代替nmake。OK,成功運行。 reason:用到:C:\Users\***\AppData\Local\Te ...
  • 大三下學期,我們學習的軟體工程這門課的課程設計,主要是針對一個管理系統,從需求分析到概要設計再到詳細設計,還好,不要求寫代碼。 下麵是我做的辦公室日常信息管理系統的設計。 軟體架構文檔 1. 介紹 1.1 目的 這篇文檔提供了對辦公室日常信息管理系統架構的總攬,從不同的視角描述了該系統。包含架構分析 ...
  • 要玩轉css3的3d,就必須瞭解幾個辭彙,便是透視(perspective)、旋轉(rotate)和移動(translate)。透視即是以現實的視角來看屏幕上的2D事物,從而展現3D的效果。旋轉則不再是2D平面上的旋轉,而是三維坐標系的旋轉,就包括X軸,Y軸,Z軸旋轉。平移同理。 當然用理論來說明, ...
  • 近期查看前輩的代碼,發現在使用animate()的時候前面需要加上stop(),來防止移進移出的閃動問題,但卻不知道stop()裡面參數的真正意思,今天查了下stop()中參數的意義和具體使用方法,分享給大家。 stop(true)等價於stop(true,false): 停止被選元素的所有加入隊列 ...
  • 第61條解釋了非同步API怎樣幫助我們防止一段程式阻塞應用程式的事件隊列。使用下麵代碼,可以很容易使一個應用程式陷入泥潭。while(true){} 而且它並不需要一個無限迴圈來寫一個緩慢的程式。代碼需要時間來運行,而低效的演算法或數據結構可能導致運行長時間的計算。效率不是js唯一關註的。基於事件的編程... ...
  • 最近在看阮一峰的《ES6標準入門》,在字元串擴展一節中有提到幾個新的擴展,覺得挺有意思,想在ES3裡面使用,於是就有下麵的相容性寫法。 repeat 將一個字元串重覆n次 startsWith 判斷字元串是否以某個字元串開頭,返回bool值 endsWith 判斷字元串是否以某個字元串結尾,返回bo ...
  • 說到詭異事件發生的原因,自然是想到兩者之間的差異性。 首先是效果: jquery中有fadeIn和fadeOut兩個效果,用來實現漸隱漸顯的效果,這個在PC端自然是常用的效果。然後我們前端組的組員Mr Huang自然是想到手機頁面也可以更加炫麗,於是加上了登錄框的漸隱效果。給用戶緩衝的效果不錯。 但 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...