2012-05-30 108 views
0

我試圖從一個元素將寬度和高度屬性複製到另一個JavaScript/jQuery,但無法實現它。將某個值從一個元素複製到另一個元素

我有類似的東西:

<div id="two"> 

<img src="picture.jpg" id="one" width="600px" height="300px" /> 

</div> 

,我希望得到這樣的:

<div id="two" width="600px" height="300px" > 

<img src="picture.jpg" id="one" width="600px" height="300px" /> 

</div> 
+0

[你嘗試過什麼(http://whathaveyoutried.com/),以及哪裏出了問題? –

+0

爲什麼你在這些屬性中有'px'?它們不是CSS屬性,它們不佔用CSS長度。 – Quentin

+0

我對你明確的問題做了答案,但通常你不應該這樣做。你應該有一個使它無用的css來複制這些維度。 –

回答

2

您可以直接訪問圖像元素的.width.height屬性。

的div不具有這些屬性,所以你必須使用CSS來設置它們:

var img = $('#one').get(0); 
$('#two').css({ width: img.width, height: img.height }); 
+0

謝謝,我會試試 – Newbie

+0

這個作品完美:) – Newbie

3

使用jQuery:

var $one = $('#one'); 
$('#two').attr('width', $one.attr('width')) 
.attr('height', $one.attr('height')); 

但通常這是錯誤的。你應該有一個CSS來適應你的形象。

+0

棒極了,它的工作原理。 (我想這樣做,因爲我無法對css和html文件進行更改)。感謝您的快速回復:) – Newbie

1

我建議,沒有更多的信息:

var el = $('#two'), 
    img = el.find('img'); 

el.css({'height' : img.height(), 'width' : img.width()}); 

參考文獻:

+0

我無法理解您的代碼......無論如何,dystroy的解決方案適用於我。謝謝。 – Newbie

+0

認真嗎?嗯,如果你能突出你不明白的部分,我會很樂意嘗試和解釋。但它似乎正是故障的答案的工作方式,儘管我正在與CSS(並使用'css()'),而不是棄用的屬性樣式。 –

相關問題