14

我有这个工作:

  <div data-people="australian">Australian people eats...</div>

  <script type="text/javascript">
    alert($("[data-people=australian]").html());
  </script>

但这另一个不起作用,我不知道如何解决:

  <div id="mich">Australian people eats...</div>

  <script type="text/javascript">
    $("#mich").data("people", "australian");

    alert($("[data-people=australian]").html());
  </script>

为什么我不能从 jQuery 设置 data-* HTML5 属性并使用它们来选择 DOM 对象???

非常感谢

4

1 回答 1

37

jQuery data() 映射的data-属性是单向的。如果要实际设置节点上的属性,则应使用 attr() 函数。

$("#mich").attr("data-people", "australian");

文档:

data- 属性在第一次访问 data 属性时被拉取,然后不再被访问或改变(然后所有数据值都存储在 jQuery 内部)

于 2012-12-26T08:42:50.140 回答