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

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

спасибо

Ответ 1

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

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

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

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

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

{ thing: "value" }