2012-09-07 57 views
0

我有以下结构:jQuery的插入无父元素调整

<td> 
    <input name="foo" size="45"/> 
</td> 

,我要动态地插入图片后,然后将其定位里面输入,就像这样:

$j('<img class="icon-ketchup" style="display: none; position: relative; right: 35px; top: 7px;" src="http://localhost:82/pod/plugin_assets/webshop/images/icons/cross.png" />').show().insertAfter($j('input')); 

tdinput大小相同,我不想调整td元素的大小。这是如何实现的?

+0

你为什么不用'overflow:hidden;'为'td'?你想显示全尺寸的图像? – anhtran

+0

您可以将图像的宽度属性设置为td的大小。如果不设置高度属性,它将按比例重新调整比例。 –

+1

出于好奇,你为什么要在输入字段上显示图像? –

回答

1

您需要将其放在绝对位置。 Javascript是不需要的,但仍然可以使用它你想要的。见http://jsfiddle.net/C7trn/

HTML

<td style="position: relative; border: 2px solid black; padding: 5px;"> 
<input name="foo" size="45"/> 
<img class="icon-ketchup" style="position: absolute; right: 5px; top: 7px;" src="http://localhost:82/pod/plugin_assets/webshop/images/icons/cross.png" /> 
</td>​ 

的关键是使TD position: relative;并具有图像position: absolute。这将使图像相对于td绝对定位。

+0

我不能使用背景,因为我需要在我的图像上的一个mouseover事件。 – blid

+0

我会用解决方案更新,然后 –

+0

用解决方案更新。我向TD添加了边框和填充以便更容易看到,您可以摆脱它。 –