0

我通过以下方式剥离 div 的所有类和 id,包括其子项:

jQuery('#menu-main-menu').find("*")
    .removeAttr('id').removeAttr('class').end();

但是有一个问题,上面的代码清除了每个类和ID。

但我想保留一些课程,例如:

icon-* //i.e. icon-home icon-facebook
active

请帮我

4

5 回答 5

1

使用选择器。

jQuery('#menu-main-menu').find("*").not(".active").removeAttr('id').removeAttr('class').end();
于 2013-06-05T07:26:55.417 回答
1

如果您知道要删除哪些类,则可以removeClass('a_class another_class')使用removeAttr('class').

如果不这样做,您可以使用each()和循环添加到元素的类,删除除您需要的类之外的所有类。

于 2013-06-05T07:30:34.523 回答
1

这应该这样做:

jQuery('#menu-main-menu').find("*:not(.active):not([class^=icon-])")
    .removeAttr('id').removeAttr('class').end();
于 2013-06-05T07:31:53.223 回答
0

jQuerynot()是最好的选择。

jQuery('#menu-main-menu')
  .find("*")
  .not(".active, [class^='icon-']")
    .removeAttr('id')
    .removeAttr('class').end();
于 2013-06-05T07:32:48.730 回答
0

试试看,

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

于 2013-06-05T07:36:01.130 回答