使用jQuery添加数据变量

时间:2015-08-28 14:22:57

标签: jquery custom-data-attribute

我正在尝试向document.ready上的元素添加数据属性,以便设置默认加载状态。

我目前有:

jQuery(document).ready(function($) {
    $('#menu-primary-navigation li.isMobile').data('status','closed');
)};

我希望看到以下HTML

<li class="isMobile" data-status="closed" >foo</li>

但是我似乎没有看到添加任何数据属性。我错误地使用.data()吗?

2 个答案:

答案 0 :(得分:3)

$('#menu-primary-navigation li.isMobile').attr('data-status','closed');

这是一个小小的方法来展示它是如何工作的:http://jsfiddle.net/o3mLb53r/

jQuery data() function没有按照您的想法行事,它与数据属性无关。

答案 1 :(得分:3)

当用作 setter 时,

data()不会为您的元素添加实际的data-*属性。相反,它将

  

存储任意数据......

虽然在用作 getter 时可以从现有的data-*属性中读取

  

从jQuery 1.4.3开始,HTML 5数据属性将自动引入jQuery的数据对象。

有关如何存储此任意数据的详细信息,请参阅Where is jQuery.data() stored?

使用attr()代替

$('#menu-primary-navigation li.isMobile').attr('data-status','closed');