← Back to jQuery Course | Chapter 11: Utility Methods | Lesson 6 of 6

DOM Nodes पर Metadata Store करना

data method DOM elements पर custom information store करता है। जब किसी element को extra values चाहिए तब यह उपयोगी है।
Syntax
javascript
$(selector).data("key", value);
$(selector).data("key");
$(selector).removeData("key");

data() क्या है?

data() method visible HTML attributes में लिखे बिना arbitrary JavaScript values को एक DOM element से attach करता है, उन्हें एक internal जगह पर store करते हुए।

उदाहरण: What is data()?

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="card">Card</div>
    <script>
      $("#card").data("userId", 42);
    </script>
  </body>
</html>

Data पढ़ना

stored information वापस पढ़ने के लिए एक key के साथ data() इस्तेमाल करें, और value एक string, number, object, array, या लगभग कोई भी दूसरी JavaScript value हो सकती है।

उदाहरण: Read Data

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="card">Card</div>
    <script>
      $("#card").data("userId", 42);
      console.log($("#card").data("userId"));
    </script>
  </body>
</html>

कई Values Store करना

आप अलग-अलग keys के साथ data() call करके एक ही DOM element पर metadata के कई pieces store कर सकते हैं, effectively उस element को अपनी छोटी storage देते हुए।

उदाहरण: Store Multiple Values

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="card">Card</div>
    <script>
      $("#card").data("userId", 42);
      $("#card").data("status", "active");
      console.log($("#card").data());
    </script>
  </body>
</html>

Stored Data हटाना

removeData method किसी element से पहले store किया गया metadata delete कर देता है, जो तब उपयोगी है जब वह information अब relevant न रहे — उदाहरण के लिए, c।

उदाहरण: Remove Stored Data

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <div id="card">Card</div>
    <script>
      $("#card").data("loading", true);
      $("#card").removeData("loading");
    </script>
  </body>
</html>

एक छोटा data() Project

इस तरह hidden metadata attach करना खासतौर पर buttons, product cards, और दूसरे repeated UI elements के लिए उपयोगी है जहाँ हर instance को कुछ याद रखना है।

उदाहरण: Small data() Project

javascript
<!DOCTYPE html>
<html>
  <head>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
  </head>
  <body>
    <button class="product" data-id="7">Buy</button>
    <script>
      $(".product").on("click", function() {
      console.log("Product ID:", $(this).data("id"));
      });
    </script>
  </body>
</html>
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. यह उम्मीद करना कि .data("id", 5) HTML में data-id attribute बदल देगा, जबकि यह सिर्फ value को memory में store करता है और attribute वही रहता है।
  2. कई elements वाली एक selection पर .data("key") call करना और सारी values की उम्मीद करना, जबकि यह सिर्फ पहले element की value return करता है।
  3. data-user-id को .data("user_id") से पढ़ना, जबकि jQuery hyphenated attributes को camelCase में convert करता है: .data("userId")।
चैप्टर सारांश
  • Type checking utilities यह पहचानती हैं कि आपके पास किस तरह की value है।
  • trim() strings साफ करता है, और array helpers lists के साथ काम करते हैं।
  • extend() objects merge करता है, proxy() context bind करता है, और DOM nodes पर metadata store किया जा सकता है।
🔒

Chapter Quiz — Complete all 6 topics to unlock

0/6 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.