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

Ale*_*lex 11 javascript jquery jquery-selectors

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

示例:active从我的搜索中的所有<a> 锚点中删除CSS类. div

如果是这样,怎么样?

Vin*_*nie 26

$("#mydiv a").removeClass("active");
Run Code Online (Sandbox Code Playgroud)


cle*_*tus 7

如果搜索是一个类:

$("div.search a").removeClass("active");
Run Code Online (Sandbox Code Playgroud)

如果搜索是ID:

$("#search a").removeClass("active");
Run Code Online (Sandbox Code Playgroud)


Joh*_*ely 5

是啊.你这样做:

$("div a .className").removeClass("className")
Run Code Online (Sandbox Code Playgroud)

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

$("#divIDValue a .className").removeClass("className")
Run Code Online (Sandbox Code Playgroud)

使用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.另一方面,类可用于多个项目(您可能已经知道).