在加载jquery之后,我无法将图像置于div中

我用jquery动态加载图像,似乎无法将它们放在div中。 我的HTML看起来像这样:

jQuery调用如下所示:

  $("#current_photo").attr('src', img_url); //$('#current_photo').css({'margin-right':'auto','margin-left':'auto'}); 

我假设我需要在图像加载后应用CSS但这似乎也不起作用。

无论我尝试什么,图像总是左对齐。 知道会发生什么吗?

添加“text-align:center;” 到你的包含div。 也不需要汽车保证金。

如果你想在js中执行它,请在加载img后尝试使用此函数。

 setToCenterOfParent($("#current_photo"), $("#current_photo").parent()); function setToCenterOfParent( obj, parentObj ) { var height = $( obj ).height(); var width = $( obj ).width(); if ( parentObj == window ) { $( obj ).css( 'top', ( $( parentObj ).height() / 2 ) - ( height / 2 ) ); $( obj ).css( 'left', ( $( parentObj ).width() / 2 ) - ( width / 2 ) ); } else { $( obj ).css( 'top', ( $( parentObj ).height() / 2 ) - ( height / 2 ) + $( parentObj ).position().top ); $( obj ).css( 'left', ( $( parentObj ).width() / 2 ) - ( width / 2 ) + $( parentObj ).position().left ); } } 

您可以通过将此样式添加到img来使其工作:

 display: block; 

演示: http : //jsfiddle.net/Zsq8Q/3/

您动态设置src的事实不是问题,默认情况下img元素不是块元素,因此除非您其设置为块,否则边距设置不起作用。

容器中的text-align属性将解决问题:

 

演示:

http://jsfiddle.net/Zsq8Q/4/