如何使用javascript压缩CSS选择器字符串

时间:2012-11-04 22:27:51

标签: javascript jquery css

也许有一个图书馆已经这样做了?我能找到的只是在线工具。我想在javascript中执行此操作的原因是因为我想知道字符串a > b, aa> b,a相同。如果我可以将其压缩为CSS,则所有版本最终都将作为相同的字符串。

更好地解释为什么我要这样做:我为自己写了一个jQuery插件来缓存jQuery选择器(这个东西$('div'))。它的工作原理是存储一个键值对,其中键是我的选择器字符串,值是找到的DOM元素。这就是为什么我要比较CSS选择器字符串,否则我将存储基本上相同选择器的不同键。

1 个答案:

答案 0 :(得分:-1)

Uglify.js(https://github.com/mishoo/UglifyJS)可以让你自动压缩CSS。它将删除所有不必要的空格和注释。这应该允许你规范化你想要的任何东西。您需要查看Uglify源并尝试仅提取所需的组件。

当我试验:http://refresh-sf.com/yui/时,选择器似乎总是被适当缩小(尽管那是使用YUI而不是uglifyjs)。唯一剩下的问题是a> b,b和b之间的差异,a> b。为此我建议先缩小然后用','拆分;然后按字母顺序排序数组;最后重新加入split数组。完成后,您可以将该值用作哈希值。