我有一个div列表,每个都有一个“ createdDate”属性,我评估每个div的createdDate,
我添加了另一个属性'isNew',如果它的存在时间少于7天,则设置为true,否则设置为false。
CSS具有:
div[isNew=true] div.title{ background:red }
打算在少于7天的时间内将背景设置为红色。
使用Firebug和开发工具-通过匹配规则将背景显示为红色。
浏览器虽然没有以红色显示标题div。
有什么方法可以推动CSS评估重绘?还是更好的方法?
最佳答案
由于此代码段http://jsfiddle.net/fcalderan/Gh7Ud/可以正常工作,因此我建议您检查标记和其余的CSS规则,可能您在某个地方重新定义了该样式
注意:您的代码需要属性'isNew
':如果您控制html代码,则最好将其更改为'data-isNew
',以使其适应未来需求
正如Zlatev所建议的那样,创建一个“临时”类是另一种解决方案,这将确保跨浏览,因为最早的浏览器无法识别CSS属性选择器。顺便说一句,我只建议不要使用.red
类,因为它会过多地绑定到元素样式(如果更改颜色该怎么办?),因此最好使用语义类,例如.newtitle
关于jquery - CSS何时得到解析/评估?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4255877/