我通过以下方式剥离 div 的所有类和 id,包括其子项:
jQuery('#menu-main-menu').find("*")
.removeAttr('id').removeAttr('class').end();
但是有一个问题,上面的代码清除了每个类和ID。
但我想保留一些课程,例如:
icon-* //i.e. icon-home icon-facebook
active
请帮我
我通过以下方式剥离 div 的所有类和 id,包括其子项:
jQuery('#menu-main-menu').find("*")
.removeAttr('id').removeAttr('class').end();
但是有一个问题,上面的代码清除了每个类和ID。
但我想保留一些课程,例如:
icon-* //i.e. icon-home icon-facebook
active
请帮我
使用非选择器。
jQuery('#menu-main-menu').find("*").not(".active").removeAttr('id').removeAttr('class').end();
如果您知道要删除哪些类,则可以removeClass('a_class another_class')
使用removeAttr('class')
.
如果不这样做,您可以使用each()
和循环添加到元素的类,删除除您需要的类之外的所有类。
这应该这样做:
jQuery('#menu-main-menu').find("*:not(.active):not([class^=icon-])")
.removeAttr('id').removeAttr('class').end();
jQuerynot()
是最好的选择。
jQuery('#menu-main-menu')
.find("*")
.not(".active, [class^='icon-']")
.removeAttr('id')
.removeAttr('class').end();
试试看,
jQuery('#menu-main-menu').find("*").not('.active, [class^="icon-"]')
.removeAttr('id').removeAttr('class');
阅读attribut start selectors
http://api.jquery.com/attribute-starts-with-selector/
和not()
http://api.jquery.com/not