Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery style not being applied in Safari

I have an absolutely positioned element that I move with the help of jQuery using the CSS propertly 'left'.

$("#element").css('left', '103px');

In Firefox this works as expected. However in Safari I can see the style appearing in the Web Inspector under element.style, but the style isn't updated. If I disable (and re-enable) any matched CSS-rules (even those not applied directly to my div) the style being applied with jQuery is rendered.

I'm running Safari 5.0.6 on an old PowerMac, with jQuery 1.7.2.

like image 442
D A Avatar asked Jun 07 '12 10:06

D A


1 Answers

I faced this problem once and i end up using addClass and removeClass on elements parent container.

try this

$("#element").css('left', '103px').parent().addClass("dummyClass").removeClass("dummyClass");

if that doesn't work follwoing will work for sure.

$("#element").css('left', '103px');
$("body").addClass("dummyClass").removeClass("dummyClass");

the problem is sometime safari doesn't redraw the page when we change CSS so we need to force redrawing

like image 112
gaurang171 Avatar answered Nov 15 '22 21:11

gaurang171