我正在尝试向document.ready上的元素添加数据属性,以便设置默认加载状态。
我目前有:
jQuery(document).ready(function($) {
$('#menu-primary-navigation li.isMobile').data('status','closed');
)};
我希望看到以下HTML
<li class="isMobile" data-status="closed" >foo</li>
但是我似乎没有看到添加任何数据属性。我错误地使用.data()
吗?
答案 0 :(得分:3)
$('#menu-primary-navigation li.isMobile').attr('data-status','closed');
这是一个小小的方法来展示它是如何工作的:http://jsfiddle.net/o3mLb53r/
jQuery data() function没有按照您的想法行事,它与数据属性无关。
答案 1 :(得分:3)
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');