也许没有,我需要在HTML中执行此操作,但有没有办法编写
if($('.Name1 li').length>2) $('.main').css('k', 'v');
我在JS中这样做了,如果我第一次加载页面,我会看到一个明显的流行音。它不是'糟糕',但我注意到了它。
答案 0 :(得分:7)
如果你在服务器端检查这个条件(php,ruby,C#,python等等)然后分配一些类会更好。
答案 1 :(得分:4)
CSS不是一种编程语言,它不是以这种方式与HTML交互。
答案 2 :(得分:1)
使用JESS是一个类似的东西,或者很快就会有类似的东西,这是一个将CSS与JavaScript相结合的框架,用于“动态样式”。我自己还没有在部门看过它,但是对于那些对这种事情感兴趣的人来说可能值得一看。
答案 3 :(得分:1)
不幸的是,每当你使用javascript进行这种类设置时,你总是会得到这种无格式内容的闪存,因为JS是在页面上的其他所有内容之后加载的。
在不知道具体需要实现什么的情况下,一些建议是在有问题的元素上使用某种占位符CSS(设置宽度/高度/颜色/无论你需要什么)来尝试减轻效果。您还可以尝试通过确保尽可能多地优化页面来缓解它,因此请使用yslow运行并查看是否可以进行任何速度改进。
唯一的另一种(也是最好的)方法是使用klew的建议并插入类服务器端,而不是等到DOM加载后JS才能完成它的工作。