jQuery,如何向元素添加变量?

13

我有一个关于jQuery的问题。我有一个可以滑出的li,现在我想要记住它是否已经滑出,因此我想设置一个布尔变量slidedOut

是否可以简单地将其添加到元素中?还是应该向元素添加一个隐藏的div之类的东西?

3个回答

22
你可以使用.data()来实现这个功能。
类似如下:
$("#yourli").data("slidedOut", false);

你可以使用 var value = $("#yourli").data("slidedOut"); 获取值。 - Shady Mohamed Sherif

1

另一个选择是使用CSS类。如果您不需要真正保存数据(只是一个标志),或者想要更改这些<li>或其子元素的设计,这将非常有用。


1

使用jQuery data被认为是标准的方法 - 尽管还有很多其他方法可以实现。

另一种选择是:

 $("#myli")[0].slidedOut = true;
 alert($("#myli")[0].slidedOut);

1
你的例子不会起作用。每次调用 $() 时,都会创建一个新对象,因此在一个对象上设置属性不会影响其他对象,即使选择的是相同的元素。请注意,$('#myli')[0].slidedOut 可以 起作用,但这并不是最佳实践。 - lonesomeday

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接