jQuery + CSS。将样式实现到众多元素的最快方法

时间:2015-07-04 15:03:31

标签: javascript jquery css performance

我有一个手工响应的jQuery网格,这个网格中的元素是DIV与float:left

它们的宽度和数量连续计算其容器宽度变化。例如,如果容器宽度为500px,那么它可以连续保留4个元素,元素宽度按比例计算为25%,如果容器宽度变为400,则它只能保持3行,宽度为33%。

计算并不重要,问题是更改容器元素样式的最快方法是什么?现在我做了straitforward

$('.container .element').css({width:'25%'});

据我所知,jQuery迭代每个元素并改变它的风格。但是如果我可以动态地创建一个样式呢:

.container.foo .element {width:25%;}

只需将.foo类添加到我的容器中,我猜这个操作将被浏览器强制执行,而且速度可能会快得多。

是吗?有可能吗?

1 个答案:

答案 0 :(得分:0)

正确的方法是:

  1. 在css中创建类。你需要的每一种风格。
  2. 使用jQuery添加或删除类。 addClass / removeClass
  3. 所以是的,第二种选择更快,更清洁,可重复使用。这是关于50% faster.