我有一个div列表,每个都有一个'createdDate'属性,我评估每个div的createdDate, 我添加了另一个属性'isNew',如果它小于7天,则设置为true,否则为false。
css有:
div[isNew=true] div.title{ background:red }
打算在少于7天的时间内将背景设置为红色。
使用firebug和即开发工具 - 通过匹配规则将背景显示为红色。
虽然浏览器没有以红色显示标题div。
有没有办法轻推css评估重绘?还是更好的方式?
答案 0 :(得分:1)
由于此代码段http://jsfiddle.net/fcalderan/Gh7Ud/按预期工作,我建议检查标记和剩余的CSS规则,可能是您在某处后重新定义该样式
注意:您的代码需要一个属性“isNew
”:如果您控制了html代码,那么最好将其改进为期待,并将其更改为“data-isNew
”
正如Zlatev所建议的那样,创建一个“ad hoc”类是另一种解决方案,这将确保交叉浏览,因为最老的浏览器无法识别CSS属性选择器。顺便说一句我只是建议不要使用.red
类,因为它会过多地绑定到元素样式(如果你改变颜色怎么办?),所以最好选择一个语义类,比如.newtitle
< / p>
答案 1 :(得分:0)
只需创建一个新规则:
.red { background: red; } // to be safe and sure, you can make it important
在.addClass()
需要时通过jQuery应用它,或者形成后端