jQuery.data()

Liste des paramètres acceptés :

data(name)

Retourne la valeur au nom de la collection de données pour l'élément, tel que défini par les données (nom, valeur).

Si la collection des références contient de  multiples éléments, la valeur retournée renvoie le premier élément.

Cette fonction est utilisée pour obtenir les données stockées sur un élément, sans le risque d'une référence circulaire. Il utilise jQuery.data et est de nouveau à la version 1.2.3. Il peut être utilisé pour de nombreuses raisons et jQuery UI l'utilise abondamment.

Cette methode renvoie: String

Prenons l'exemple suivant:

    $("button").click(function(e) {
      var value;

      switch ($("button").index(this)) {
        case 0 :
          value = $("div").data("blah");
          break;
        case 1 :
          $("div").data("blah", "hello");
          value = "Stored!";
          break;
        case 2 :
          $("div").data("blah", 86);
          value = "Stored!";
          break;
        case 3 :
          $("div").removeData("blah");
          value = "Removed!";
          break;
      }

      $("span").text("" + value);
    });

Testons sur le script suivant:

<div>A div</div>
<button>Get "blah" from the div</button>
<button>Set "blah" to "hello"</button>
<button>Set "blah" to 86</button>
<button>Remove "blah" from the div</button>

On obtiendra : (dans l'ordre des boutons)

The "blah" value of this div is undefined
The "blah" value of this div is Stored!
The "blah" value of this div is Stored!
The "blah" value of this div is Removed!

data(name, value )

Collection de la valeur pour le paramètre saisi.

Si la collection jQuery renvoie  de multiples éléments, l'élément de données est fixé sur chacun d'eux. Une valeur de données qui est un objet Javascript n'est pas copiée et sera partagée entre tous les éléments de la collection.

Cette fonction peut être utile pour fixer les éléments de données sans avoir à créer une nouvelle expando. Il ne se limite pas à une chaîne de caractères. La valeur peut être de n'importe quel format.

Il peut également être utilisé pour obtenir des événements joints à des éléments, mais ce n'est pas pris en charge. Le premier paramètre étant l'élément, la seconde étant la chaîne "événements".

Cette methode renvoie : string

Prenons l'exemple suivant:

$("div").data("test", { first: 16, last: "pizza!" });
$("span:first").text($("div").data("test").first);
$("span:last").text($("div").data("test").last);

Testons sur le script suivant:

<div>
The values stored were
<span></span>
and
<span></span>
</div>

On obtiendra :

The values stored were 16  and pizza!