我们的设计师要求我们将用于JavaScript选择器的类添加到CSS文件中,注释表明它们是用于JavaScript的。目的是避免利益冲突;设计师可能会从元素中删除一个类,因为没有应用样式。
例如,标记可能是:
<div id="Book1" class="book">
</div>
然后如果“book”类用于JavaScript选择,CSS文件将包括:
.book {/* Used as a JavaScript selector */}
是否有使用此技术的示例,以及为什么要(或者不应该)使用它?我正在寻找这种技术的缺点,优点和标准或官方建议的例子。
答案 0 :(得分:2)
这只是您的设计师寻求对css的某种形式的控制,以确保他/她的更改不会破坏您网站中的客户端功能。然而,问题在于,您现在正在将功能与样式混合在一起,在一个设计良好的站点中应该首先分开。
最好确保在要定位的元素上创建类,这些元素没有关联样式,仅用于客户端js目的。你总是可以同意一个约定,你可以在所有这些类前加上'js',例如jsMYCLASS,然后使用类似下面的jquery语法引用它们;
<div class='book jsBookItem'></div>
目标:
$('.jsBookItem');
在这个例子中,您可以看到原始的“书籍”样式与非样式类非常相似,但您的设计师可以独立于客户端代码更改/删除“书籍”样式,而现在只依赖于“jsBookItem”。
他/她的建议的另一个主要问题是它会膨胀css文件并增加下载/缓存样式表所花费的时间而对终端客户端没有任何好处。即使缩小css仍然会留下部分有效但未使用的块。
答案 1 :(得分:1)
我相信当多个开发人员使用项目时,这项技术非常重要。 问题是:如果有人知道课程是否仍然相关或已经过时,应该如何知道?
您还可以应用不同的规则来使JS选择器可识别。 我喜欢使用类似 jss _ 之类的前缀。