2010-08-31 16 views
10

это демо-код:как получить все данные, которые хранятся в 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> 

но, как получить все данные (потому что некоторые ключевые имя я не знаю) ??

благодарит

ответ

27

Вы можете позвонить .data()без каких-либо аргументов, чтобы получить все объект со всеми записями, например:

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

Этот объект будет иметь все они ключи доступны, например, если :

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

Тогда $("div").data() вернется, по крайней мере:

{ thing: "value" } 
Смежные вопросы