0

我正在使用一个脚本,该脚本在单击某个元素时广告一个类。无论如何,在不知道/声明其“名称”的情况下,是否可以通过单击事件删除动态创建的类?

所以 Jquery 部分应该说类似“点击时:删除现在添加的类”。

我唯一能想到的就是做点击事件,然后删除最后一个类(应该是动态类),在这里回答LINK。不过我希望有更好的方法..

4

2 回答 2

1

这是一个比较奇特的情况。您可能想重新考虑您的逻辑,或者可能将某种切换逻辑附加到相关类。

在任何情况下,我都会通过拥有一个data-*包含最后添加的类名的附加属性来实现这一点。例如:

// Adding the classname
var className = myClass;
$('#element').addClass(className).data('lastclass',className);

// Removing last added class
var elem = $("#element");
elem.removeClass(elem.data('lastclass'));
于 2013-04-21T21:03:37.537 回答
1

一旦一个类被添加到一个对象中,就无法将它与之前可能存在于该对象上的任何其他类区分开来。因此,如果您无法修改点击代码并且不知道动态类的名称,那么很难知道要删除什么。

如果您可以在单击类数据之前对其进行快照并将其作为属性或使用 jQuery 存储在对象上.data(),那么您可以将状态设置回该条件。

或者,如果您知道单击中添加的类名的任何信息,那么您可以搜索这些类名并仅删除这些类名。

于 2013-04-21T21:04:38.960 回答