<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          15 個常見的 jQuery 特性與原生JavaScript函數(shù)

          共 8510字,需瀏覽 18分鐘

           ·

          2022-06-13 10:46

          英文 | https://enlear.academy/15-popular-jquery-features-and-their-vanilla-javascript-equivalents-1bdb73cc81f3

          翻譯 | 楊小愛

          在今天的文章中,我將向您介紹 Web 開發(fā)人員使用的 jQuery 中流行的特性,以及如何使用原生 JavaScript 的原生函數(shù)來完成這些任務(wù)。
          1、文檔準備就緒
          Document ready 是一個事件,表明頁面的 DOM 已經(jīng)完全準備好,因此,我們可以處理它而不必擔(dān)心 DOM 的某些部分是否尚未加載。此事件在任何圖像或視頻渲染到網(wǎng)站之前,但在整個 DOM 準備好之后觸發(fā)。
          請參閱以下代碼片段以了解如何在 jQuery 和 vanilla JavaScript 中使用文檔就緒。
          // Check if the document is ready using jQuery$(document).ready(function() {   // DOM is fully loaded. Write other codes.  alert('Hello from jQuery');});
          // Check if the document is ready using vanilla JavaScriptlet documentReadyCallback = () => { // DOM is fully loaded. Write other codes. alert('Hello from JavaScript');};
          if (document.readyState === "complete" || (document.readyState !== "loading" && !document.documentElement.doScroll)) { documentReadyCallback();} else { document.addEventListener("DOMContentLoaded", documentReadyCallback);}
          2、選擇DOM元素
          選擇一個或多個 DOM 元素是 jQuery 的基本功能之一。JavaScript 中 $() 的等價物是 document.querySelector() 或 document.querySelectorAll() 函數(shù)。
          請參閱以下代碼片段以了解如何在 jQuery 和 vanilla JavaScript 中選擇 DOM 元素。
          // Select multiple elements by "class" using jQuery.$(".blog-post");
          // Select the first instance of an element by "class" using vanilla JavaScript.document.querySelector(".blog-post");
          // Select multiple elements by "class" using vanilla JavaScript.document.querySelectorAll(".blog-post");
          3、循環(huán)遍歷 DOM 元素并進行更改
          在前面,我們了解了 querySelectorAll()。它返回一個包含與查詢匹配的元素的 NodeList。JavaScript 中 $().each() 的等同與 document.querySelectorAll().forEach() 函數(shù)。
          請參閱以下代碼片段,了解如何循環(huán)遍歷 DOM 元素并通過 jQuery 和 vanilla JavaScript 進行更改。
          // Select multiple elements and hide them using jQuery$(".blog-post").hide();
          // Select multiple elements and hide them using vanilla JavaScriptdocument.querySelectorAll(".blog-post").forEach((post) => { post.style.display = "none";});
          4、在另一個元素中搜索一個元素
          在 jQuery 中,我們可以使用 find() 函數(shù)搜索子元素。JavaScript 中的等價物是元素上的 querySelector() 或 querySelectorAll() 函數(shù)。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 搜索子元素。
          // Searching a child element inside an element using jQuery.let blogsSection = $(".blogs-section");blogsSection.find(".blog-post");
          // Searching a child element inside an element using vanilla JavaScript.let blogsSection = document.querySelector(".blogs-section");blogsSection.querySelector(".blog-post");
          5、將樣式應(yīng)用于元素
          在 jQuery 中,我們可以使用 css() 函數(shù)將樣式應(yīng)用于元素。與JavaScript 中選定元素的樣式屬性等同。
          例如,請參考以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 將樣式應(yīng)用于元素。
          // Apply styles to elements using jQuery$(".blog-post").css("border", "2px solid #326ED3");
          // Apply styles to elements using vanilla JavaScriptdocument.querySelector(".blog-post").style.border = "2px solid #326ED3";
          6、隱藏和顯示元素
          在 jQuery 中,我們可以使用 hide() 函數(shù)隱藏元素,并使用 show() 函數(shù)顯示元素。與JavaScript 中的style.display 屬性等同。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 隱藏或顯示元素。
          // Hide or show an element using jQuery$(".blog-post").hide();$(".blog-post").show();
          // Hide or show an element using vanilla JavaScriptdocument.querySelector(".blog-post").style.display = "none";document.querySelector(".blog-post").style.display = "block";
          7、在 DOM 中創(chuàng)建元素
          在 jQuery 中,我們可以使用 append() 函數(shù)創(chuàng)建元素。與JavaScript 中的createElement() 函數(shù)相同。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 創(chuàng)建元素并將其附加到元素中。
          // Create an element inside DOM using jQuery$(".message").append("<p>This is a sample text message.</p>");
          // Create and element inside DOM using vanilla JavaScriptlet messageElement = document.querySelector(".message");let messageChildElement = messageElement.createElement("p");messageChildElement.textContent = "This is a sample text message.";
          8、更新DOM
          在 jQuery 中,我們可以使用 text() 和 html() 函數(shù)更新 DOM。與JavaScript 中的 textContent 和 innerHTML 屬性等同。
          請參閱以下代碼片段以了解如何通過 jQuery 和 vanilla JavaScript 更新元素。
          // Update an element text using jQuery$(".login-button").text("Log In");
          // Update an element text using vanilla JavaScriptdocument.querySelector(".login-button").textContent = "Log In";
          // Update an element HTML using jQuery$(".login-message").html("<div>Login successfull!</div>");
          // Update an element HTML using vanilla JavaScriptdocument.querySelector(".login-message").innerHTML = "<div>Login successfull!</div>";
          9、從元素中添加、刪除和切換類
          在 jQuery 中,我們可以使用 addClass()、removeClass() 和 toggleClass() 函數(shù)來管理元素的類名。類似與JavaScript 中的 classList.add、classList.remove 和 classList.toggle 屬性。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 管理元素中的類名。
          // Add, remove, and toggle class using jQuery$(".blog-post").addClass("popular");$(".blog-post").removeClass("popular");$(".blog-post").toggleClass("popular");
          // Add, remove, and toggle class using vanilla JavaScriptlet blogPost = document.querySelector(".blog-post");blogPost.classList.add("popular");blogPost.classList.remove("popular");blogPost.classList.toggle("popular");
          10、檢查元素是否有類
          在 jQuery 中,我們可以使用 hasClass() 函數(shù)檢查元素是否具有類。與JavaScript 中的 classList.contains() 函數(shù)相同。
          請參考以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 檢查元素是否具有類。
          // Check if element has a class using jQueryif ($(".blog-post").hasClass("popular")) {  alert('This is a popular post');}
          // Check if element has a class using vanilla JavaScriptif (document.querySelector(".blog-post").classList.contains("popular")) { alert('This is a popular post');}
          11、偵聽事件
          在 jQuery 中,您可以使用許多事件偵聽器來偵聽事件。其中一些是 click(function(event) {})、mouseenter(function(event) {})、keyup(function(event) {})。與JavaScript 中的 addEventListener(“click”, (event) ? {}), addEventListener(“mouseenter”, (event) ? {}), addEventListener(“keyup”, (event) ? {}) 函數(shù)類似。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 監(jiān)聽事件。
          // Listen to events using jQuery$(".signout-button").click(function(event) {  // Logout user});$(".delete-account-form").mouseenter(function(event) {  // Higlight the delete account form});$(".password").keyup(function(event) {  // Start checking the password strength});
          // Listen to events using vanilla JavaScriptdocument.querySelector(".signout-button").addEventListener("click", (event) => { // Logout user});document.querySelector(".delete-account-form").addEventListener("mouseenter", (event) => { // Higlight the delete account form});document.querySelector(".password").addEventListener("keyup", (event) => { // Start checking the password strength});
          12、監(jiān)聽動態(tài)添加元素的事件
          在 jQuery 中,我們可以使用 on() 函數(shù)監(jiān)聽動態(tài)添加的元素的事件。與JavaScript 中的 addEventListener() 函數(shù)相同。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 監(jiān)聽動態(tài)添加的元素的事件。
          // Listen to events for dynamically added elements using jQuery$(document).on("click",'#signout-button', function(event) {  // Logout user.});
          // Listen to events for dynamically added elements using vanilla JavaScriptdocument.addEventListener("click", (event) => { if(event.target && event.target.id == "signout-button"){ // Logout user. }});
          13、創(chuàng)建和觸發(fā)事件
          在 jQuery 中,我們可以使用 trigger() 函數(shù)創(chuàng)建和觸發(fā)事件。JavaScript 中的等價物是 dispatchEvent(new Event()) 函數(shù)。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 創(chuàng)建和觸發(fā)事件。
          // Creating and triggering events using jQuery$(document).trigger("click");$(".signout-button").trigger("click");
          // Creating and triggering events using vanilla JavaScriptdocument.dispatchEvent(new Event("click"));document.querySelector(".signout-button").dispatchEvent(new Event("click"));
          14、查找下一個、上一個和父元素
          在 jQuery 中,我們可以使用 next()、prev() 和 parent() 函數(shù)查找下一個、上一個和父元素。JavaScript 中的等價物是 nextElementSibling、previousElementSibling 和 parentElement 屬性。
          請參考以下代碼片段,通過 jQuery 和 vanilla JavaScript 查找下一個、上一個和父元素。
          // Find the next, previous, and parent element using jQuery$(".blog-post").next();$(".blog-post").prev();$(".blog-post").parent();
          // Find the next, previous, and parent element using vanilla JavaScriptlet blogPost = document.querySelector(".blog-post");blogPost.nextElementSibling;blogPost.previousElementSibling;blogPost.parentElement;
          15、使用 Fetch 的網(wǎng)絡(luò)請求
          在 jQuery 中,我們可以使用 ajax() 函數(shù)執(zhí)行網(wǎng)絡(luò)請求。在 JavaScript 中等效的是 fetch() 函數(shù)。
          請參閱以下代碼片段,了解如何通過 jQuery 和 vanilla JavaScript 執(zhí)行網(wǎng)絡(luò)請求。
          // Perform network requests using jQuery$.ajax({    url: "http://example.com/movies.json",  type: "POST",  data: {    key: value  },  success: function (response) {    // See the response  },  error: function (response) {    // See the error response  }});
          // Perform network requests using vanilla JavaScriptfetch("http://example.com/movies.json", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({key: value})}).then(response => { // See the response}).catch(error => { // See the error response});
          寫在最后
          贊!恭喜您已經(jīng)完成了對 JavaScript 中最常用功能的學(xué)習(xí)?,F(xiàn)在您可以繼續(xù)并開始為您當(dāng)前或即將進行的項目實施上述功能了。
          如果您覺得我今天分享的內(nèi)容有用的話,請點贊我,關(guān)注我,并將其分享給您身邊最開發(fā)的朋友,也許能夠幫助到他,祝編程愉快!

          習(xí)更多技能

          請點擊下方公眾號

          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  粗暴大黑鸡巴视频欧美 | 中文字幕-熊猫成人网 | 黄色一级日本品 | 色天堂免费下载 | 国产精品超碰AV无码 |