css()
Метод css()
изменяет значение указанного CSS-свойства у всех элементов выборки или возвращает значение этого свойства для первого элемента.
Названия свойств можно указывать и в CSS-формате, и как в DOM-интерфейсе. Например, названия 'font-size'
и 'fontSize'
или 'float'
и 'cssFloat'
равноценны.
Значения свойств должны указываться в виде строки или числа. Если значение передано в виде числа, тогда оно автоматически конвертируется в строку и к нему добавляется
. Если число не должно иметь единицы измерения (например, для свойства px
line-height
и т.п.), тогда его необходимо самостоятельно конвертировать в строку.
Если значение начинается с символов
или +=
, тогда метод автоматически увеличивает или уменьшает значение свойства на заданную величину. Например, если свойство имеет значение -=
, тогда для увеличения значения на 10 пикселей можно использовать запись 20px
'+=10'
.
Ключевое слово !important
игнорируется методом. Для этих целей лучше использовать классы.
Для нестандартных свойств jQuery автоматически добавляет префиксы в зависимости от браузера.
Чтобы удалить ранее установленное значение, необходимо свойству присвоить пустую строку. Удалить значения свойств, установленных во внешнем файле или в теге <style>
, нельзя.
Варианты использования
jQ_object.css(CSS-свойство) => String
-
Возвращает значение указанного свойства для первого элемента выборки. Возвращается вычисленное значение, как в методе
getComputedStyle()
.
Для обобщённых свойств (margin
вместоmargin-top
,margin-left
и т.п.) корректная работа метода не гарантируется, так как значения свойств определяются браузерами.
Чтобы получить значения нескольких свойств, названия свойств необходимо перечислить в виде массива, напримерcss(['margin-top', 'margin-right', 'margin-bottom', 'margin-left'])
. В этом случае результатом метода будет объект. jQ_object.css(CSS-свойство, значение) => jQuery
- Каждому элементу выборки устанавливает новое значение указанного CSS-свойства. Значение свойства передаётся вторым аргументом.
jQ_object.css({CSS-свойство1: значение1, CSS-свойство2: значение2, ...}) => jQuery
-
Каждому элементу выборки устанавливает новые значения указанных CSS-свойств. Значения свойств передаются в виде объекта.
Если названия свойств указываются как в DOM-интерфейсе, тогда заключать их в кавычки не обязательно. Например, можно написать такcss({'margin-top': 10, 'margin-bottom': 20})
или такcss({marginTop: 10, marginBottom: 20})
. jQ_object.css(CSS-свойство, функция) => jQuery
-
У каждого элемента выборки изменяет значение указанного CSS-свойства на новое, возвращённое указанной функцией. Данная функция выполняется для каждого элемента выборки отдельно. Она должна возвращать строку или число. Если ничего не возвращается или возвращается
undefined
, тогда значение свойства не меняется.
При запуске функции первым аргументом передаётся индекс элемента в выборке. Вторым аргументом передаётся текущее значение данного CSS-свойства. Ссылка на сам элемент хранится в переменнойthis
.
Примеры
<html> <head> <title>Работа с элементами DOM</title> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <p>Параграф</p> </body> </html> <script> $('p').css('border', '2px solid red'); var border = $('p').css(['borderTopWidth', 'borderTopStyle', 'borderTopColor']); alert(border.borderTopWidth); /* 2px */ alert(border.borderTopStyle); /* solid */ alert(border.borderTopColor); /* rgb(255, 0, 0) */ </script>
Параграф