JQuery.addClass()完成了他的工作,但浏览器不重新绘制
我知道这不是什么新鲜事,但我已经尝试了我找到的每一种补救方法,但没有解决问题 我有一些JQuery代码,通过动态分配一个类为div指定背景颜色,为h*指定颜色JQuery.addClass()完成了他的工作,但浏览器不重新绘制,jquery,css,browser,addclass,repaint,Jquery,Css,Browser,Addclass,Repaint,我知道这不是什么新鲜事,但我已经尝试了我找到的每一种补救方法,但没有解决问题 我有一些JQuery代码,通过动态分配一个类为div指定背景颜色,为h*指定颜色 css已正确加载并应用于所有内容 addClass方法正是我所期望的,使用Chrome的DevTools,我可以看到类被分配到了正确的元素 颜色不变 在样式检查器中,应用的新样式不会显示任何内容 如果我尝试这样的事情 $.fn.redraw = function(){ return $(this).each(
$.fn.redraw = function(){
return $(this).each(
function(){
var redraw = this.offsetHeight;
}
);
};
以这种方式在末尾调用它
$(selector).redraw();
不起作用有人有什么建议吗?两天来,我一直在努力猜测正确的步骤…我记得我遇到了同样的问题,我相信我解决了这个问题:
$(this).removeClass("old_class");
$(this).css({ 'background-color' : '' });
$(this).addClass("new_class");
首先删除旧类,然后将“背景色”设置为“无”,最后添加新类。您可以发布链接/jsfiddle吗?看到你正在谈论的代码,很难提出建议选项(例如,你提到了添加类的代码以及与该类相关的css样式,但是没有,只是一些你不需要的代码)检查css文件,这些文件是否正确加载?试试看!css类中用于后台属性的重要关键字。@saqibahmad我希望您的意思是使用!对于测试它是否工作很重要,以查看是否有其他内容正在覆盖它?而不是作为解决方案只是猜测一下:您可能在上面定义此类样式的CSS中有语法错误。CSS解析器可能会放弃这个错误,但仍然应用上面定义的样式。不,没有效果。可能与在运行时加载CSS的内容有关的事实?检查并做出您认为有用的更改来理解您的情况。谢谢,事实上我就是这么做的,但是颜色还是一样的。如果我内联添加颜色,就可以了,如果我添加一个类,在前端什么都不发生,而在后端添加这个类。。。