jQuery样式未在Safari中应用

D A*_*D A 14 css safari macos jquery

我有一个绝对定位的元素,我在jQuery的帮助下使用CSS属性'left'移动.

$("#element").css('left', '103px');
Run Code Online (Sandbox Code Playgroud)

在Firefox中,这可以按预期工作.但是在Safari中,我可以在element.style下看到Web Inspector中出现的样式,但样式未更新.如果我禁用(并重新启用)任何匹配的CSS规则(即使那些没有直接应用于我的div),也会渲染使用jQuery的样式.

我在旧的PowerMac上使用jQuery 1.7.2运行Safari 5.0.6.

gau*_*171 13

我曾经遇到过这个问题,最后我在元素父容器上使用了addClass和removeClass.

试试这个

$("#element").css('left', '103px').parent().addClass("dummyClass").removeClass("dummyClass");
Run Code Online (Sandbox Code Playgroud)

如果那不起作用,那么肯定会起作用.

$("#element").css('left', '103px');
$("body").addClass("dummyClass").removeClass("dummyClass");
Run Code Online (Sandbox Code Playgroud)

问题是有时候我们在改变CSS时不会重绘页面,所以我们需要强制重绘