jQuery立即从所有后代中删除CSS类
我可以一次从元素中的所有XYZ元素中删除特定的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
- 找到所有的div
- 查找所有div中的所有锚点
- 查找#2中具有类.className的所有锚点
例#2
- 找到
id
属性设置为“divIDValue”的div - 找到该div中的所有锚标签
- 查找与类名
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个可能的标签。