jQuery中是否有一种语法方法来定义多个CSS属性,而不是像这样把所有的东西都排在右边:

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

如果你有20个这样的代码,你的代码会变得难以阅读,有什么解决方案吗?

例如,通过jQuery API, jQuery可以理解并返回两者的正确值

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

and

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

注意,在DOM表示法中,属性名周围的引号是可选的,但在CSS表示法中,由于名称中的连字符,它们是必须的。


当前回答

试试这个

$(element).css({
    "propertyName1":"propertyValue1",
    "propertyName2":"propertyValue2"
})

其他回答

最好的方法是使用变量。

var style1 = {
   'font-size' : '10px',
   'width' : '30px',
   'height' : '10px'
};
$("#message").css(style1);

脚本

 $(IDname).css({
    "background":"#000",
    "color":"#000"
})

Html

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

你可以试试这个

$("p:first").css("background-color", "#B2E0FF").css("border", "3px solid red");

如果你想改变多个CSS属性,那么你必须使用下面的对象结构:

$(document).ready(function(){
   $('#message').css({
                   "background-color": "#0F0",
                   "color":"red",
                   "font-family":"verdana"
                });
});

但是当我们想要改变很多风格时,情况会变得更糟,所以我建议你添加一个类,而不是使用jQuery改变css,并且添加一个类也更易于阅读。

请看下面的例子:

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,并想在第二次点击时删除该css,那么在后一个例子中,你可以使用.toggleClass('custom-class')

在前一个例子中,你必须设置所有的CSS与你之前设置的不同的值,这将是复杂的,所以使用类选项将是更好的解决方案。

将其作为对象传递:

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

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