wat doet de jQuery data()-functie

Ik heb niet gevonden wat het gebruik is van de jQuery-functie data().
Kan iemand mij een voorbeeld geven van hoe het kan worden gebruikt?


Antwoord 1, autoriteit 100%

Het is erg handig om verschillende objecten, strings, arrays, enz. te associëren met een DOM-element. Hier is een leuk hypothetisch gebruik:

$(document).ready(function(){
   $("a").each(function(index, el){
      if(index % 2 == 0) 
         $(this).data('coolColor', 'Orange'); // Set the data
      else 
         $(this).data('coolColor', 'Purple'); // Set the data
   }).click(function(e){
      alert($(this).data('coolColor')); // Retrieve the data
      e.preventDefault();
   });
});

Dit zou elke a-tag selecteren en Orangeinstellen als het oneven is, of Purpleals het even is. Dit is niet de meest optimale manier om deze code te schrijven als u dit echt wilt doen, maar het illustreert wel hoe u de functie .data()moet gebruiken.

Je kunt het ook gebruiken om objecten op te slaan:

$("#header").data('headerSettings',{
   color: "red",
   cost:  "$25.00",
   time:  1000
});

Je hebt nu overal op de pagina toegang tot die gegevens:

$("#header").data('headerSettings').color;

Antwoord 2, autoriteit 13%

Hiermee kunt u elk type gegevens aan een DOM-element koppelen. Zie dezeblogpost voor enkele voorbeelden.


Antwoord 3, autoriteit 13%

Ik denk dat deze vraag een beetje meer aandacht nodig heeft. JQuery’s dataAPI is echt krachtig voor verschillende gebruiksgevallen.

Met de gegevensfunctie van

JQuery kunt u alle bijbehorende gegevens ophalen en ophalen met een jQuery-object.

In de eerste plaats kan het ook worden gebruikt om data-attributen instellen op elk knooppunt in de HTML.

Voorbeeld 1

HTML:
<div id="myNode" data-foo="bar"></div>.

JQuery-code:
$("#myNode").data("foo") //bar

Voorbeeld 2

Evenzo kan ik ook een waarde w.r.t enig knooppunt opslaan.

JQuery code:

$("#myNode").data("foo","baz")
$("#myNode").data("foo") //baz

Een belangrijk ding om op te merken, is dat wanneer men een gegevens op de notitie instelt met behulp van de data-API, de HTML niet bijgewerkt is in de DOM. Als u de HTML wilt bijwerken, wilt u misschien vasthouden aan de attr("data-foo","baz")-methode.

Hoewel men snaren kan lezen die zijn opgeslagen in HTML-gegevensattributen, kunt u ook een object toewijzen tijdens het opslaan van een waarde met behulp van de data-API.

Er zijn verschillende gebruiksgevallen waar ontwikkelaars een object met een knooppunt koppelen.

b.g

var obj = {
  name : "test"
}
$("#myNode").data("foo",obj);
$("#myNode").data("foo") === obj //true

Ga je gang, Verken de API hier.


Antwoord 4

De jQuery-documentatie somt het vrij goed samen:

retourneert een unieke ID voor het element.

Meestal is deze functie alleen
intern gebruikt. Je zult waarschijnlijk niet
Gebruik de methode van de gegevens () op deze manier.
it
wordt automatisch gebeld indien nodig
Bij gebruik van de andere gegevens ()
functionaliteit.

In principe bestaat deze functie om andere jQuery-functies te ondersteunen. Het is het beste om deze functie te negeren, omdat het niet bedoeld is om deel te nemen aan de openbare interface van de JQuery API.

Other episodes