jQuery提供了内置的data()方法,与DOM元素不同的是,它可以用来存储key/value类型的数据。数据的存储是很容易的:
$('#myDiv').data('currentState', 'off');
我们修改上一个例子的代码,以便于我们可以使用相同的HTML内容(除了没有"expanded"类)并使用data()函数来进行状态的存储:
$('.button').click(function() { var menuItem = $(this).parent(); var panel = menuItem.find('.panel'); if (menuItem.data('collapsed')) { menuItem.data('collapsed', false); panel.slideDown(); } else { menuItem.data('collapsed', true); panel.slideUp(); } });
对于data()和removeData()的更多信息,请查看jQuery internals