在JavaScript中用于选择的类是否应该在CSS文件中定义?

在JavaScript中用于选择的类是否应该在CSS文件中定义?,javascript,css,standards,Javascript,Css,Standards,我们的设计师要求我们将用于JavaScript选择器的类添加到CSS文件中,并在其中添加一条注释,说明它们是用于JavaScript的。目的是避免利益冲突;由于没有应用样式,设计器可能会从元素中删除类 例如,标记可能是: <div id="Book1" class="book"> </div> 是否有使用此技术的示例,以及为什么应该(或不应该)使用此技术?我正在寻找这种技术的缺点、优点、标准或官方建议的例子。这只是你的设计师在寻找对css的某种形式的控制,以确保他/她的

我们的设计师要求我们将用于JavaScript选择器的类添加到CSS文件中,并在其中添加一条注释,说明它们是用于JavaScript的。目的是避免利益冲突;由于没有应用样式,设计器可能会从元素中删除类

例如,标记可能是:

<div id="Book1" class="book">
</div>

是否有使用此技术的示例,以及为什么应该(或不应该)使用此技术?我正在寻找这种技术的缺点、优点、标准或官方建议的例子。

这只是你的设计师在寻找对css的某种形式的控制,以确保他/她的更改不会破坏你网站的客户端功能。然而,问题是你现在把功能和风格混为一谈,而在一个设计良好的网站上,这些功能首先应该是分开的

最好确保在您希望针对的元素上创建类,这些元素没有关联的样式,并且仅用于客户端js目的。您可以始终同意这样一种约定,即在所有此类类前面加上“js”前缀,例如jsMYCLASS,然后使用类似于以下jquery语法的语法引用它们

<div class='book jsBookItem'></div>
在本例中,您可以看到原始的“book”样式与非样式类非常接近,但是您的设计师可以独立于客户端代码来更改/删除“book”样式,而客户端代码现在只依赖于“jsBookItem”


他/她的建议的另一个主要问题是,它会使css文件膨胀,并增加下载/缓存样式表所需的时间,对最终客户机没有任何好处。即使缩小css,仍然会留下部分有效但未使用的块。

我认为,当一个项目中有多个开发人员使用此技术时,此技术非常重要。 问题是:人们如何知道某个类是否仍然相关或已经过时

您还可以应用不同的规则来识别JS选择器。
我喜欢使用像jss或类似的前缀。

+1来识别一个关键问题,即如何找出是否正在使用类,是用于JS还是CSS。我认为这是这个建议技术的核心。
<div class='book jsBookItem'></div>
$('.jsBookItem');