jQuery立即从所有后代中删除CSS类

我可以一次从元素中的所有XYZ元素中删除特定的CSS类吗?

示例:从我的搜索 div所有 锚点中删除活动的CSS类。

如果是这样,怎么样?

 $("#mydiv a").removeClass("active"); 

如果搜索是一个类:

 $("div.search a").removeClass("active"); 

如果搜索是ID:

 $("#search a").removeClass("active"); 

是啊。 你这样做:

 $("div a .className").removeClass("className") 

或者,假设您只想在某个div上执行此操作,只要div设置了id属性,您就可以这样做:

 $("#divIDValue a .className").removeClass("className") 

使用jQuery选择器,#带有一些文本后引用对象(div,span,anchor,等等), id属性设置为该文本。 句点指的是具有与该句点之后的文本匹配的类名称的所有对象。 如上所示,您可以嵌套选择器文本。 所以在上面的例子中,这是发生的事情:

示例#1

  1. 找到所有的div
  2. 查找所有div中的所有锚点
  3. 查找#2中具有类.className的所有锚点

例#2

  1. 找到id属性设置为“divIDValue”的div
  2. 找到该div中的所有锚标签
  3. 查找与类名className匹配的锚标记列表中的所有锚标记

请记住,对于页面中的所有对象,只有一个对象可以具有任何特定的id值。 因此,您可以将两个id设置为’divIDValue’的对象 – 虽然您的页面看起来仍然可能正常,但jQuery只会找到第一个带id项目。 另一方面,类可用于多个项目(您可能已经知道)。

一种更通用的解决方案,可以从任何可能的元素中删除类。

 // I like to use find as I usually have my wrapper in a variable. $('#my-wrapper').find('.active').removeClass('active'); 

要么

 $('#my-wrapper .active').removeClass('active'); 

这将影响包装器中的所有元素:span,h3,div,li,td等。对于html 5,现在有超过100个可能的标签。