jQuery_02之元素操作及事件綁定

来源:http://www.cnblogs.com/Jupiter258/archive/2016/11/05/6032895.html
-Advertisement-
Play Games

1、操作元素之屬性: ①attr讀:$(“selector”).attr(“屬性名”);=>getAttribute(“屬性名”);改:$(“selector”).attr(“屬性名”,值);=>setAttribute(“屬性名”,值);*(*無法訪問不再開始標簽中存在的prop屬性;例:chec ...


1、操作元素之屬性:

  ①attr讀:$(“selector”).attr(“屬性名”);=>getAttribute(“屬性名”);改:$(“selector”).attr(“屬性名”,值);=>setAttribute(“屬性名”,值);*(*無法訪問不再開始標簽中存在的prop屬性;例:checked,selected,disabled);

  ②prop讀:$(“selector”).prop(“屬性名”);=>elem.屬性名;改:$(“selector”).prop(“屬性名”,值);

  ③移除屬性:$(“selector”).removeAttr(“屬性名”);=>removeAttribute(“屬性名”);

2、操作元素之內容:

  ①html原文:讀:$(“selector”).html();=>elem.innerHTML;改:$(“selector”).html(“html片段”);=>elem.innerHTML=”html片段”;清空元素:$(“selector”).empty();=>elem.innerHTML=””;

  ②純文本:讀:$(“selector”).text();=>elem.textContent/innerText;改:$(“selector”).text(“文本”);

  ③表單元素的value:讀:$(“selector”).val();改:$(“selector”).val(值);

3、操作元素之樣式:

  ①直接操作CSS屬性:$(“selector”).css(“CSS屬性名”);=>getComputedStyle();$(“selector”).css(“CSS屬性名”,值);=>elem.style.CSS屬性名=值;同時修改多個屬性值:$(“selector”).css({屬性名1:值1,屬性名2:值2,……});*(css()能讀取所有屬性,但只能修改內聯樣式,屬性名須去橫線化駝峰);

  ②修改class屬性:a、完整修改:$(“selector”).attr(“class”,”類名”);b、追加:$(“selector”).addClass(“類名”);c、移除:$(“selector”).removeClass(“類名”);d、清除:$(“selector”).attr(“class”,””);或者$(“selector”).removeClass();e、判斷是否包含:$(“selector”).hasClass(“類名”);f、在有或沒有指定類名之間切換:$(“selector”).toggleClass(”類名“);

4、遍歷節點:

  ①獲得父元素:$(“selector”).parent();=>elem.parentNode;或elem.parentElement;

  ②獲得兄弟元素:下一個兄弟$(“selector”).next([selector]);=>elem.nextElementSibling;前一個兄弟:$(“selector”).prev([selector]);=>elem.previousElementSibling;其他兄弟:$(“selector”).siblings([selector]);

  ③子元素:直接子元素:$(“selector”).children([selector]);所有子代元素:$(“selector”).find(selector);*(find()必須加selector);

5、添加:

  ①創建節點:var $elem=$(“完整html元素代碼段”);

  ②添加:追加到parent下所有子節點末尾:$(parent).append($elem);作為parent的第一個子節點插入:$(parent).prepend($elem);插入到child之後:$(child).after($elem);插入到child之前:       $(child).before($elem);

6、其它操作:

  ①刪除:$(要刪除的元素).remove();

  ②替換:$(old).replaceWith(新元素);或$(新元素).replaceAll(old);

  ③複製:var $clone=$(“selector”).clone([true]);*(true:為深度克隆包括事件處理函數);

7、事件綁定之bind:

  ①$(…).bind(“事件名”,fn)=>addEventListener;為同一元素的事件處理函數綁定多個函數對象;

  ②$(…).unbind(“事件名”,fn)=>removeEventListener;如果有可能移除事件處理函數,則綁定時必須用實名函數綁定,不能用匿名函數;重載:a、不帶任何參數:移除元素上所有事件處理函數綁定;b、只帶一個事件名稱參數:移除元素上指定事件名稱綁定的所有函數對象;c、帶兩個參數:僅移除事件元素上指定事件名稱綁定的執行的函數對象;

8、事件綁定之delegate:

  ①事件代理:讓指定父元素下所有符合要求的子元素都能使用事件處理函數(包括生成);原理:利用事件冒泡:a、僅將事件處理函數綁定在父元素;b、獲得目標元素:e.target;c、僅響應符合條件的元素的事件;

  ②事件代理使用:將事件綁定到parent上(利用冒泡),只有符合selector條件的元素才能響應事件;$(parent).delegate(“selector”,“事件名”,function(e){e.target});移除綁定:$(parent).undelegate(“selector”,”事件名”,function(e){e.target});

9、其它綁定:

  ①一次性事件:$(…).one(“事件名”,fn);只能執行一次事件處理函數,執行後自動解除;

  ②將元素所有事件綁定到document:$(…).live(“事件名”,fn);$(…).die(“事件名”,fn);

  ③僅為一個元素綁定事件處理函數:$(“target”).on(“事件名”,fn);

  ④利用冒泡:$(“parent”).on(“事件名”,“selector”,fn);解除綁定off;


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

-Advertisement-
Play Games
更多相關文章
  • 這是我在面試大公司時碰到的一個筆試題,當時自己雲里霧裡的胡寫了一番,回頭也曾思考過,最終沒實現也就不了了之了。 昨天看到有網友說面試中也碰到過這個問題,我就重新思考了這個問題的實現方法。 對於想進大公司的童鞋,我想多說兩句,基礎知識真的很關鍵。平時在工作中也深刻體會到,沒有扎實的基礎知識,簡單問題容 ...
  • 目前來看,團隊內部前端項目已全面實施組件化開發。組件化的好處太多,如:按需載入、可復用、易維護、可擴展、少挖坑、不改組件代碼直接切成伺服器端渲染(如 "Nuclear" 組件化可以做到,大家叫同構)... 怎麼做到這麼強大的優勢,來回憶下以前見過的坑,或者現有項目里的坑。 CSS層疊樣式?保佑不要污 ...
  • 1. 使用require.js的意義 (1)實現JS文件的非同步載入,避免網頁因為載入JS文件緩慢造成網頁未響應 (2)管理模塊之間的依賴性,便於代碼的編寫和維護。頁面中只需要引入require.js和main.js,其餘的js文件全部通過require.js管理。 2. 獲取require.js r ...
  • 本文版權歸博客園和作者本人共同所有,轉載和爬蟲請註明原文地址。 寫在前面 好多做web開發的朋友,在學習數據結構和演算法時可能比較討厭C和C++,上學的時候寫過的也忘得差不多了,更別提沒寫過的了。但幸運的是,你會JavaScript啊。我想說學好數據結構和基本演算法並非是要我們必須要去書寫,演算法的工作有 ...
  • 總結一下自己在寫這個需求遇到的問題,相信大家應該是經常遇到的。即要求滾輪滾動到指定的位置。先看下基本的解決方案。 1.給鏈接a加個#的方式來實現跳轉。(錨點方法)這裡直接貼下代碼: html頁面: css樣式: 該錨點法,不需要任何的js代碼,即可實現跳轉的方法。缺點:點擊鏈接url發生變化,刷新的 ...
  • 一、Redux介紹 Redux的設計思想很簡單,就兩句話: 二、Redux基本概念和API Store Store就是保存數據(state)的地方,整個應用只能有一個Store。Redux通過createStore來生成store。 State Store對象包含所有State,某一時刻的數據集合就 ...
  • 在WebGL場景中導入多個Babylon骨骼模型,在區域網用WebSocket實現多用戶交互控制。 ...
  • 時光轉眼即逝,又到周六了,今天寫點某部分人看不起的css玩玩! 轉換 轉換屬性transform: 瀏覽器首碼: -webkit-transform;-o-transform;-moz-transform;-ms-transform; 取值: none : 預設值,沒有轉換操作 transform- ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...