如何获取存储在jquery.data()中的所有数据

时间:2010-08-31 00:14:26

标签: jquery

这是演示代码:

  $(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>

但是,如何获取所有数据(因为一些关键名称我不知道)??

感谢

2 个答案:

答案 0 :(得分:30)

您可以在没有任何参数的情况下调用.data() 来获取包含所有条目的所有对象,例如:

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

此对象将提供所有键,例如:

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

然后$("div").data()至少会返回:

{ thing: "value" }

答案 1 :(得分:8)

JQuery文档:http://api.jquery.com/data/#data

$("div").data();