我正在使用一个脚本,该脚本通过点击某个元素来广告类。无论如何使用单击事件删除动态创建的类,而不知道/声明其“名称”?
所以Jquery部分应该说“on click:删除现在添加的类”。
我唯一能想到的就是执行click事件,然后删除 last 类(应该是动态的),这是通过LINK回答的。我希望有一个更好的方式..
答案 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()
,则可以将状态设置回该条件。
或者,如果您对单击中添加的类名有所了解,则可以搜索这些类名并仅删除这些类名。