Css 空类定义陷阱?

Css 空类定义陷阱?,css,class,optimization,Css,Class,Optimization,偶尔我会定义一个空的CSS类,比如 .empty{} 使我能够在jQuery中轻松地操作整个DOM元素序列。从目前为止我所看到的情况来看,所有主要的浏览器都允许我不受影响。然而,我想知道。。。是否有任何W3C指南可能意味着有一天浏览器会删除/忽略此类空类声明?我已经扫描了W3C文档,非常枯燥,但是没有找到任何与这个主题相关的东西 据我所知,您只需使用这个类作为钩子,通过jQuery获得所需的元素。 这没什么错,它将永远有效,直到僵尸末日 浏览器永远不会启动,只会删除任何完全有效的元素 我很有勇

偶尔我会定义一个空的CSS类,比如

.empty{}

使我能够在jQuery中轻松地操作整个DOM元素序列。从目前为止我所看到的情况来看,所有主要的浏览器都允许我不受影响。然而,我想知道。。。是否有任何W3C指南可能意味着有一天浏览器会删除/忽略此类空类声明?我已经扫描了W3C文档,非常枯燥,但是没有找到任何与这个主题相关的东西

据我所知,您只需使用这个类作为钩子,通过jQuery获得所需的元素。 这没什么错,它将永远有效,直到僵尸末日

浏览器永远不会启动,只会删除任何完全有效的元素

我很有勇气说决不

但是,对于没有任何属性的类,不需要CSS声明。
但这也没有什么坏处。

据我所知,您只需使用这个类作为钩子,通过jQuery获得所需的元素。 这没什么错,它将永远有效,直到僵尸末日

浏览器永远不会启动,只会删除任何完全有效的元素

我很有勇气说决不

但是,对于没有任何属性的类,不需要CSS声明。
但是这也没有什么坏处。

您可以在jQuery代码中随意使用类名。jQuery并不要求为代码中使用的每个类名定义相应的样式


例如:如果您使用名为selected的类来标识所有选定元素,那么您的css中不需要有.selected{}定义。

您可以在jQuery代码中随意使用类名。jQuery并不要求为代码中使用的每个类名定义相应的样式



例如:如果您使用名为selected的类来标识所有选定元素,那么您的css中不需要有.selected{}定义。

我定义了一个空的css类。。。为了使我能够在jQuery中轻松地操作整个DOM元素序列,这是如何工作的?为什么首先需要定义CSS?它与jQuery无关。我经常做的事情是沿着$.each$'.myemptyclass',functionndx,elem{…}这样你就不需要在CSS中声明它了…这个问题是基于一个误解。没有“CSS类”。类由HTML类属性或DOM上相应的JavaScript操作定义。CSS可以像其他人一样使用它们。jQuery符号.empty与CSS选择器的格式相同,但它不需要任何CSS定义或声明。。。为了使我能够在jQuery中轻松地操作整个DOM元素序列,这是如何工作的?为什么首先需要定义CSS?它与jQuery无关。我经常做的事情是沿着$.each$'.myemptyclass',functionndx,elem{…}这样你就不需要在CSS中声明它了…这个问题是基于一个误解。没有“CSS类”。类由HTML类属性或DOM上相应的JavaScript操作定义。CSS可以像其他人一样使用它们。jQuery符号.empty的格式与CSS选择器的格式相同,但它不需要任何CSS定义或声明。谢谢,但我不认为您完全理解我的错误,我知道我的意思。看看下面user1207449是怎么说的。问题是,既然你的类定义是空的,即使有一天浏览器决定删除它,这也不重要。重要的是jQuery并不关心特定类的样式定义是否存在。你使用不存在的类的JS代码将继续正常工作。谢谢,但我不认为你完全理解我的错误,我知道我的意思。看看下面user1207449是怎么说的。问题是,既然你的类定义是空的,即使有一天浏览器决定删除它,这也不重要。重要的是jQuery并不关心特定类的样式定义是否存在。使用不存在的类的JS代码将继续正常工作。谢谢。使用这种方法的原因如下:假设您有n个元素,它们都使用相同的类,并且您需要通过jQuery操作这些n个元素的子集m。我将一个空的类声明粘贴到混合类中来完成这项工作。就像我说的,它很有效。。。直到某个smarty pants浏览器认为空的类声明是无用的,除了我之外,它对所有人都是无用的,并将其删除。我从未见过这种情况发生,所以我想知道。。。有一天会发生吗?@DroidOS:是什么让你认为你需要一个CSS规则来处理HTML DOM的一部分?嗯。。。我坚持CSS规则进入m子集,请参见上面的注释,这样我可以通过j快速访问它
查询听起来你是在建议有一种更聪明的方法来快速获得m子集?让我举一个更具体的例子。我有一个jQuery移动页面,比如说,有4个包含iFrame的弹出窗口。这四个弹出窗口中有三个包含地图,第四个包含视频。我需要操纵弹出窗口中的iFrame,以确保它们在所有浏览器中都能工作-请参见此处。只是,地图弹出窗口和视频弹出窗口的操作是不同的…这将以您的方式非常好地工作。将来也会如此。但是,正如多次提到的,您的CSS规则是完全无用的。浏览器不会删除它,但您可以。这不会改变任何事情。只要HTML中的class属性有这个类,就可以通过Javascript进行过滤。谢谢。使用这种方法的原因如下:假设您有n个元素,它们都使用相同的类,并且您需要通过jQuery操作这些n个元素的子集m。我将一个空的类声明粘贴到混合类中来完成这项工作。就像我说的,它很有效。。。直到某个smarty pants浏览器认为空的类声明是无用的,除了我之外,它对所有人都是无用的,并将其删除。我从未见过这种情况发生,所以我想知道。。。有一天会发生吗?@DroidOS:是什么让你认为你需要一个CSS规则来处理HTML DOM的一部分?嗯。。。我将CSS规则坚持到m子集中,请参见上面的注释,这样我就可以通过jQuery快速访问它。听起来你是在建议有一种更聪明的方法来快速获得m子集?让我举一个更具体的例子。我有一个jQuery移动页面,比如说,有4个包含iFrame的弹出窗口。这四个弹出窗口中有三个包含地图,第四个包含视频。我需要操纵弹出窗口中的iFrame,以确保它们在所有浏览器中都能工作-请参见此处。只是,地图弹出窗口和视频弹出窗口的操作是不同的…这将以您的方式非常好地工作。将来也会如此。但是,正如多次提到的,您的CSS规则是完全无用的。浏览器不会删除它,但您可以。这不会改变任何事情。只要HTML中的class属性有这个类,就可以通过Javascript过滤它。