jQuery с открытым исходным кодом, и хотя код не очень прост для чтения, с небольшими усилиями и с помощью Firebug, чтобы пройтись по коду, вы можете найти информацию, которую вы ищете. Позвольте мне помочь вам с jquery-1.3.2.
Для установки стиля посмотрите на строку 1037. Как видите, в jQuery есть только специальная обработка непрозрачности IE. Он также использует регулярное выражение для преобразования имени стиля в нотацию верблюда. Таким образом, background-color
будет фактически переведено на backgroundColor
. Смотрите также функцию поддержки (строка 698). При задании числа для свойства css, когда единицы измерения не определены, будет использоваться «px». См. Метод exclude (строка 612) для свойств, исключенных из этого шаблона.
Для чтения свойства см. Функцию curCSS в строке 781. Опять непрозрачность специально обрабатывается. Также есть довольно сложный код для обработки каскадных стилей. Смотрите это обсуждение , на которое фактически ссылается код jQuery. И снова IE должен быть обработан специальным образом.
Существует также небольшая разница при чтении стиля для backgroundColor
и background-color
. Чтобы понять, что происходит, вы можете запустить следующий код:
element = document.getElementById('block1');
alert(element.style['backgroundColor']);
alert(element.style['background-color']);
alert(document.defaultView.getComputedStyle( element, null ).getPropertyValue( 'background-color' ));
При чтении jQuery не переводит все стили в случай верблюда. Если style[name]
определен, он возвращает его напрямую. В противном случае он использует getComputedStyle
. Для каскадных стилей все сложнее.