Как определить несколько атрибутов CSS в jQuery?
Есть ли в 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 они обязательны из-за дефиса в имени.
Ответы
Ответ 1
Лучше просто использовать .addClass()
даже если у вас есть 1 или больше. Более понятный и читаемый.
Если у вас действительно есть желание сделать несколько свойств CSS, используйте следующее:
.css({
'font-size' : '10px',
'width' : '30px',
'height' : '10px'
});
NB!
Любые свойства CSS с дефисом должны быть заключены в кавычки.
Я поместил кавычки, поэтому никому не нужно будет это разъяснять, и код будет на 100% функциональным.
Ответ 2
передать ему объект json:
$(....).css({
'property': 'value',
'property': 'value'
});
http://docs.jquery.com/CSS/css#properties
Ответ 3
$('#message').css({ width: 550, height: 300, 'font-size': '8pt' });
Ответ 4
Используя простой объект, вы можете соединить строки, которые представляют имена свойств с их соответствующими значениями. Например, изменение цвета фона и смещение текста будет выглядеть следующим образом:
$("#message").css({
"background-color": "#0F0",
"font-weight" : "bolder"
});
Кроме того, вы также можете использовать имена свойств JavaScript:
$("#message").css({
backgroundColor: "rgb(128, 115, 94)",
fontWeight : "700"
});
Более подробную информацию можно найти в документации jQuery.
Ответ 5
попробуйте это,
$(document).ready(function(){
$('#message').css({"color":"red","font-family":"verdana"});
})
Ответ 6
Вы также можете использовать attr
вместе с style
:
$('#message').attr("style", "width:550; height:300; font-size:8px" );
Ответ 7
Согласитесь с redsquare, однако стоит упомянуть, что если у вас есть свойство с двумя словами, например text-align
, вы сделаете следующее:
$("#message").css({ width: '30px', height: '10px', 'text-align': 'center'});
Ответ 8
$("#message").css({"width" : "550px", "height" : "300px", "font-size" : "8pt"});
Также может быть лучше использовать встроенный в addClass
jQuery, чтобы сделать ваш проект более масштабируемым.
Источник: Как сделать: jQuery Добавить CSS и удалить CSS
Ответ 9
Попробуйте это
$(element).css({
"propertyName1":"propertyValue1",
"propertyName2":"propertyValue2"
})
Ответ 10
Script
Script
$(IDname).css({
"background":"#000",
"color":"#000"
})
Html
<div id="hello"></div>
Ответ 11
Вы можете попробовать это
$("p:first").css("background-color", "#B2E0FF").css("border", "3px solid red");
Ответ 12
Лучший способ использования переменной
var style1 = {
'font-size' : '10px',
'width' : '30px',
'height' : '10px'
};
$("#message").css(style1);
Ответ 13
если вы хотите изменить несколько атрибутов CSS, то вы должны использовать структуру объекта, как показано ниже:
$(document).ready(function(){
$('#message').css({
"background-color": "#0F0",
"color":"red",
"font-family":"verdana"
});
});
но это ухудшается, когда мы хотим изменить много стилей, поэтому я предлагаю вам добавить класс вместо изменения CSS с помощью jQuery, и добавление класса также более читабельно.
см. пример ниже:
CSS
<style>
.custom-class{
font-weight: bold;
background: #f5f5f5;
text-align: center;
font-size: 18px;
color:red;
}
</style>
JQuery
$(document).ready(function(){
$('#message').addclass('custom-class');
});
Одним из преимуществ последнего примера перед первым является то, что если вы хотите добавить какой-нибудь CSS- onclick
по чему-либо и хотите удалить этот CSS файл при втором щелчке, то в последнем примере вы можете использовать .toggleClass('custom-class')
где в первом примере вы должны установить все CSS с различными значениями, которые вы установили ранее, и это будет сложно, поэтому использование опции класса будет лучшим решением.