2012-05-30 3 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 напрямую.

Divs не имеют этих свойств, так что вы должны использовать 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, который адаптирует div к вашему изображению.

+0

Превосходно, он работает. (Я хочу сделать это так, потому что я не могу вносить изменения в css и html-файлы). Спасибо за быстрый ответ :) – Newbie

1

Я хотел бы предложить, не более информации:

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

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

Ссылки:

+0

Я не могу понять ваш код ... в любом случае решение для дистрофия работает для меня. Благодарю. – Newbie

+0

Серьезно? Хм, если вы можете выделить те части, которые не поняли, я с удовольствием попробую и объясню. Но это похоже на то, как работает ответ dystroy, хотя я учусь с CSS (и используя 'css()') вместо устаревших атрибутов. –

Смежные вопросы