2010-08-31 16 views
10

este es el código de demostración:cómo obtener todos los datos almacenados en la que jquery.data()

$(document).ready(function(){ 

    $("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); 
    }); 

    }); 
    </script> 
    <style> 
    div { margin:5px; background:yellow; } 
    button { margin:5px; font-size:14px; } 
    p { margin:5px; color:blue; } 
    span { color:red; } 
    </style> 
    <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> 
    <p>The "blah" value of this div is <span>?</span></p> 

pero, cómo obtener todos los datos (porque algunos nombre de la clave no sé) ??

gracias

Respuesta

27

Puede llamar .data()sin ningún argumento para obtener todo un objeto con todas las entradas, así:

$("div").data() //returns object 

Este objeto tendrá todas las teclas estén disponibles, por ejemplo, si :

$("div").data("thing") //returns "value" 

Entonces $("div").data() regresarían al menos:

{ thing: "value" } 
Cuestiones relacionadas