我有一个关于jQuery的问题。我有一个可以滑出的li
,现在我想要记住它是否已经滑出,因此我想设置一个布尔变量slidedOut
。
是否可以简单地将其添加到元素中?还是应该向元素添加一个隐藏的div
之类的东西?
另一个选择是使用CSS类。如果您不需要真正保存数据(只是一个标志),或者想要更改这些<li>
或其子元素的设计,这将非常有用。
.addClass('visited')
- 在需要时添加类。.hasClass('visited')
- 检查元素是否具有此类。removeClass('visited')
使用jQuery data被认为是标准的方法 - 尽管还有很多其他方法可以实现。
另一种选择是:
$("#myli")[0].slidedOut = true;
alert($("#myli")[0].slidedOut);
$()
时,都会创建一个新对象,因此在一个对象上设置属性不会影响其他对象,即使选择的是相同的元素。请注意,$('#myli')[0].slidedOut
可以 起作用,但这并不是最佳实践。 - lonesomeday
var value = $("#yourli").data("slidedOut");
获取值。 - Shady Mohamed Sherif