Как получить унаследованное значение CSS с помощью Javascript?

Я пытаюсь получить значение унаследованного свойства CSS с помощью Javascript. Мне не удалось найти исчерпывающий ответ.

Пример CSS:

div {
    width: 80%;
}

Пример разметки:

<div id="mydiv"> Some text </div>

С помощью javascript (jQuery, или нативного), мне нужно получить ширину элемента--не в пикселях, а строкой "80%".

$('#mydiv').css('width'); // returns in px
$('#mydiv')[0].style.width // empty string
getComputedStyle($('#mydiv')[0]).width // returns in px

Причина Мне нужно значение в виде строки, потому что мне нужно скопировать стиль в другой элемент. Если он объявлен в процентах, другое значение должно быть в процентах. Если оно объявлено в пикселях, другое значение должно быть в пикселях.

Хитрость заключается в том, что это свойство может быть унаследовано, а не объявлено явно для элемента (, как в моем примере ).

У кого-нибудь есть идеи?

6
задан steveax 16 March 2012 в 00:41
поделиться