Как определить несколько атрибутов CSS в jQuery? - PullRequest
474 голосов
/ 15 января 2009

Есть ли в jQuery какой-либо синтаксический способ определить несколько атрибутов CSS, не вычеркивая все вправо, как это:

$("#message").css("width", "550px").css("height", "300px").css("font-size", "8pt");

Если у вас, скажем, 20 из них, ваш код станет трудным для чтения, какие-либо решения?

Например, из API jQuery jQuery понимает и возвращает правильное значение для обоих

.css({ "background-color": "#ffe", "border-left": "5px solid #ccc" }) 

и

.css({backgroundColor: "#ffe", borderLeft: "5px solid #ccc" }).

Обратите внимание, что в нотации DOM кавычки вокруг имен свойств необязательны , но в нотации CSS они обязательны из-за дефиса в имени.

Ответы [ 13 ]

878 голосов
/ 15 января 2009

Лучше просто использовать .addClass(), даже если у вас есть 1 или больше. Более удобен в обслуживании и удобочитаем.

Если у вас действительно есть желание сделать несколько свойств CSS, используйте следующее:

.css({
   'font-size' : '10px',
   'width' : '30px',
   'height' : '10px'
});

NB!
Любые свойства CSS с дефисом должны быть заключены в кавычки.
Я поместил кавычки, поэтому никому не нужно будет это разъяснять, и код будет на 100% функциональным.

158 голосов
/ 15 января 2009

передайте ему объект json:

$(....).css({
    'property': 'value', 
    'property': 'value'
});

http://docs.jquery.com/CSS/css#properties

64 голосов
/ 15 января 2009
$('#message').css({ width: 550, height: 300, 'font-size': '8pt' });
36 голосов
/ 15 января 2009

Используя простой объект, вы можете соединить строки, представляющие имена свойств, с соответствующими значениями. Например, изменение цвета фона и выделение текста жирным шрифтом будет выглядеть так:

$("#message").css({
    "background-color": "#0F0", 
    "font-weight"     : "bolder"
});

Кроме того, вы также можете использовать имена свойств JavaScript:

$("#message").css({
    backgroundColor: "rgb(128, 115, 94)",
    fontWeight     : "700"
});

Дополнительную информацию можно найти в документации jQuery .

17 голосов
/ 05 декабря 2012

пожалуйста, попробуйте это,

$(document).ready(function(){
    $('#message').css({"color":"red","font-family":"verdana"});
})
11 голосов
/ 07 января 2014

Вы также можете использовать attr вместе с style:

$('#message').attr("style", "width:550; height:300; font-size:8px" );
9 голосов
/ 15 января 2009

Согласитесь с redsquare, однако стоит отметить, что если у вас есть свойство из двух слов, такое как text-align, вы бы сделали это:

$("#message").css({ width: '30px', height: '10px', 'text-align': 'center'});
8 голосов
/ 23 апреля 2015
$("#message").css({"width" : "550px", "height" : "300px", "font-size" : "8pt"});

Также может быть лучше использовать встроенный в jQuery addClass, чтобы сделать ваш проект более масштабируемым.

Источник: Как: jQuery Добавить CSS и удалить CSS

6 голосов
/ 04 марта 2015

Попробуйте это

$(element).css({
    "propertyName1":"propertyValue1",
    "propertyName2":"propertyValue2"
})
5 голосов
/ 10 декабря 2017

попробуйте это:

$ (IDname) .css ({ "Фон": "# 000", "Цвет": "# 000" })

То есть привет в id в div.

<div id="hello"></div>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...