jQuery學習筆記(一):入門

来源:http://www.cnblogs.com/lianzhibin/archive/2016/11/16/6071721.html
-Advertisement-
Play Games

最近在學習jQuery,在網上看到有幾篇關於jQuery的文章,寫的不錯轉載過來跟大家分享一下; 一、JQuery是什麼 JQuery是什麼?始終是縈繞在我心中的一個問題: 借鑒網上同學們的總結,可以從以下幾個方面觀察。 不使用JQuery時獲取DOM文本的操作如下: 1 document.getE ...


最近在學習jQuery,在網上看到有幾篇關於jQuery的文章,寫的不錯轉載過來跟大家分享一下;

一、JQuery是什麼

JQuery是什麼?始終是縈繞在我心中的一個問題:

借鑒網上同學們的總結,可以從以下幾個方面觀察。

不使用JQuery時獲取DOM文本的操作如下:

1 document.getElementById('info').value = 'Hello World!';

使用JQuery時獲取DOM文本操作如下:

1 $('#info').val('Hello World!');

嗯,可以看出,使用JQuery的優勢之一是可以使代碼更加簡練,使開發人員更加專註於邏輯本身。

 

 

二、JQuery能做什麼

jQuery使用戶能更方便地處理HTML、events、實現動畫效果,並且方便地為網站提供AJAX交互。

jQuery庫包含以下功能:HTML元素選取、HTML元素操作、CSS操作、HTML事件函數、JavaScript特效和動畫、HTML|DOM遍歷和修改、AJAX、Utilities。

jQuery使用戶方便快捷獲取DOM元素、動態修改頁面樣式、動態改變DOM內容、響應用戶的交互操作、為頁面添加動態效果、統一Ajax操作、簡化常見的JavaScript任務。

上述是對JQuery比較中肯的評價,節選其中的關鍵字可以粗略的觀察到:

  1. 方便的選取DOM元素,操作DOM元素。(HTML元素選取、HTML元素操作、獲取DOM元素、動態修改頁面樣式、動態改變DOM內容)

  2. 響應用戶操作。(HTML事件函數、JavaScript特效和動畫、響應用戶的交互操作、為頁面添加動態效果)

  3. 簡化AJAX操作。(方便地為網站提供AJAX交互、統一Ajax操作)

即:方便DOM的選取和操作、響應用戶操作、簡化AJax操作。

 

 

三、DOM是什麼

上述提到了DOM元素,不瞭解,查閱總結如下:

DOM 全稱是 Document Object Model,是文檔對象模型。

通過DOM元素,可以方便的操作HTML中的節點,比如獲取節點的內容,添加某些元素,刪除某些元素。

也就是說,DOM元素和HTML息息相關,它將HTML中的一個個標簽封裝成DOM元素,以便於JavaScript進行操作。

1 2 3 4 5 6 7 8 9 10 11 12 <html>     <body>         <div id="info">             <p>Test</p>         </div>     <script>         window.onload = function(){             document.getElementById("info").innerHTML="success";         }     </script>     </body> </html>

其中document.getElementById("info")就是將id為info的標簽封裝成為一個DOM元素,接下來便可以方便的操作這個DOM對象,例如修改它的文本內容等等。

 

 

四、JQuery與DOM之間的關係

JQuery對象與DOM對象之間有什麼區別?

先瞭解什麼是JQuery對象:

JQuery對象就是用JQuery包裝DOM之後產生的對象。JQuery對象是JQuery獨有的,可以使用JQuery的各種方法。

1 $("#test").html();

意思是指:獲取ID為test的元素內的html代碼。其中html()是jQuery里的方法 。

這段代碼的作用等同於用DOM實現代碼:

1 document.getElementById("id").innerHTML;

雖然jQuery對象是包裝DOM對象後產生的,但是jQuery無法使用DOM對象的任何方法,同理DOM對象也不能使用jQuery里的方法。

還需要註意一點的是:

用#id作為選擇器獲取得的是jQuery對象,document.getElementById("id")得到的DOM對象,這兩者並不等價。

 

另外,JQuery對象與DOM對象之間可以互相轉換。

JQuery對象 -> DOM對象

兩種轉換方式將一個JQuery對象轉換成DOM對象:[index]和.get(index);

  1. jQuery對象是一個數據對象,可以通過[index]的方法,來得到相應的DOM對象。

    1 2 var v1 = $("#test") ; //jQuery對象 var v2 = $v1[0]; //DOM對象
  2. 通過.get(index)方法,得到相應的DOM對象。

    1 2 var v1 = $("#test"); //jQuery對象 var v2 = v1.get(0); //DOM對象

DOM對象 -> JQuery對象

對於已經是一個DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了。如$(document.getElementById("test"))

1 2 var v1=document.getElementById("test"); //DOM對象 var v2=$(v1); //jQuery對象

DOM對象轉換為JQuery對象之後就可以使用JQuery的方法了。

需要再次強調註意的是:DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。

 

 

五、JQuery中的“$”有什麼作用

這個問題解決之後,還有一個疑問:我們經常在JQuery看見$('div')、$('#id')、$('.class')等類似的代碼。那麼其中的"$"究竟有什麼作用呢?

$其實就是jQuery的別稱。是jQuery提供的一個函數,用來將DOM元素、選擇器包裝成jQuery對象。

1 2 var v1 = $('#id'); var v2 = jQuery('#id');

以上兩者是等同的。

所以"$"其實是一個符號,$()代替了jQuery(),當然你也可以使用其他的字元來代替"$"

1 2 var jq = jQuery.noConflict(); var v1 = jq('#id'); // 等同於var v1 = $('#id');

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

-Advertisement-
Play Games
更多相關文章
  • 碰到個奇葩事啊,一個spring的項目拿到客戶現場部署到resin4中,啟動後各種報無法註入bean,找不到bean的問題.出現大量下圖的錯誤: 除了系統,其他的jdk版本,resin版本,程式包都是在相同測試環境成功部署測試過的,無任何問題.所以想當然的認為可能拿過去的包有問題,馬上本地resin ...
  • ...
  • 1、BootStrap指定的四種屏幕尺寸: ①超大PC屏幕——lg(large):w>=1200px; ②中等PC屏幕——md(medium):1200px>w>=992px; ③Pad屏幕——sm(small):992px>w>=768px; ④Phone屏幕——xs(extra small):7 ...
  • 一款很實用的jQuery滑鼠懸浮有動畫效果的響應式瀑布流插件 線上預覽 下載地址 實例代碼 <!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" conten ...
  • 前言:最近準備做一個自己的網頁,設計稿中導航我準備設計成矩形,也有hover樣式展示的矩形,當中一些頭像等等。以前除了畫圓,好像真沒認真畫過其他圖形,今天就畫畫我們常見到的幾個圖形。 在此之前我們有必要瞭解下什麼是偽元素(和它不同的,還有一個概念叫偽類,兩者容易混淆),沒有它畫不成圖形的。 a)偽元 ...
  • 2016年9月27日—1.0leaflet,最快的,最穩定和嚴謹的leaflet,終於出來了! leaflet是領先的開源JavaScript庫為移動設備設計的互動地圖。重33 KB的JS,所有映射大多數開發人員所需要的特性。 leaflet設計簡單,性能和可用性。它有效地在所有主要的桌面和移動平臺 ...
  • DOM系列 基礎篇 DOM (Document Object Model) 即文檔對象模型, 針對 HTML 和 XML 文檔的 API (應用程式介面) 。DOM 描繪了一個層次化的節點樹,運行開發人員添加、移除和修改頁面的某一部分。DOM 產生於 網景公司及微軟公司創始的 DHTML(動態 HT ...
  • 上一節的遺留問題,關於this的相關問題,先來解決一下。 this的相關問題 this指代的是什麼 這個應該是比較好理解的,this就是指代當前操作的DOM對象。 在jQuery中,this可以用於單個對象,也可以用於多個對象。 jQuery中的this和$(this)有什麼區別 jQuery中的t ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...