2010-01-28 4 views
13

Я хочу скопировать все вычисленные css элемента и применить его к другому элементу. По рассчитанному стилю я имею в виду, если ширина элемента равна 100%, но ширина его родительской 200px, ширина вычислений элементов будет 200px. как я могу получить доступ ко всем этим стилям для элемента?Как получить все рассчитанные стили элемента с помощью jQuery?

+1

Нашел ответ, который дает декларацию * каждого * стиля [здесь] (http://stackoverflow.com/questions/2558426/getcomputedstyle-or-cssmap- to-get-every-style-declaration # answer-2561294), который, я думаю, является тем, что OP сказал, что им нужно. – Barney

ответ

13

после дальнейших исследований с использованием ответа Маджида, я узнал, что «.css» обратный метод Jquery в вычислене стиль, а также лучше, потому что он учитывает разницу в браузере. http://api.jquery.com/css/

+2

Да! Дурак я! Почему я попытался достать ложку в рот, взяв этот длинный путь. Мораль истории: Прежде чем искать в другом месте, всегда проверяйте инструменты, которые у вас уже есть. –

+0

@ hakim-sina Можете ли вы это объяснить? Я не понимаю, как получить вычисленный стиль здесь с помощью 'css()' jQuery. – Smamatti

+1

@ Смаматти: можете быть более конкретным? в общем, чтобы получить рассчитанный стиль, например width (пример, упомянутый выше в вопросе), все, что вам нужно сделать, это передать его функции css следующим образом: var width = $ ("element"). css ("width") –

9

Использование вычисленного стиля. Вот простой учебник: Get Computed Style

А что касается jquery, он может помочь вам получить ссылку на исходный и целевой элементы и легко применить правило css. скажем, вы заинтересованы только в двух свойствах, ширины и высоты, то вы можете использовать код вдоль линий:

var oSource = $('#source'); 
var sWidth = document.defaultView.getComputedStyle(oSource, null).width; 
var sHeight = document.defaultView.getComputedStyle(oSource, null).height; 
$('#target').css('width', sWidth).css('height', sHeight); 
+1

спасибо alot.I думаю, я должен использовать его с currentStyle для поддержки IE, а? –

+0

Не уверен относительно i.e 7, проверьте эту ссылку на совместимость: http://www.quirksmode.org/dom/w3c_css.html –

+0

@ hakim-sina Вместо того, чтобы делать разные вещи, почему бы не использовать jQuery или другую библиотеку? – NoBugs

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