如何删除动态创建的类

时间:2013-04-21 20:59:04

标签: jquery

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

所以Jquery部分应该说“on click:删除现在添加的类”。

我唯一能想到的就是执行click事件,然后删除 last 类(应该是动态的),这是通过LINK回答的。我希望有一个更好的方式..

2 个答案:

答案 0 :(得分: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'));

答案 1 :(得分:1)

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

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

或者,如果您对单击中添加的类名有所了解,则可以搜索这些类名并仅删除这些类名。