在一行中应用更多CSS属性

时间:2009-10-27 14:37:08

标签: jquery css

是否有任何可能的方法通过单行代码将多个CSS应用于控件。在下面的示例中,我只能应用一个属性

$('#<%=lblMessage.ClientID%>').css("color", "#16428b");

假设我想要应用字体或背景......怎么可能

-Thanks

5 个答案:

答案 0 :(得分:16)

.css({
    color: "#16428b",
    backgroundColor: "#f0f",
    "font-size" : "3em"
})

注意定义CSS规则的不同风格:javascript的camelCase,引用字符串的“css-style”。

这比连续.css()次调用的多个链更有效,因为它不需要多次遍历jQuery对象。

答案 1 :(得分:4)

你只是链接他们:

$('#<%=lblMessage.ClientID%>')
   .css("color", "#16428b")
   .css("font-family", "Helvetica, Arial, sans-serif")
   .css("background", "#ccc");

jQuery对象中的大多数方法都返回jQuery对象本身,因此您只需将另一个方法应用于返回值。

编辑:
如果效率很高,那么你最好直接更新元素样式:

var e = document.getElementById('<%=lblMessage.ClientID%>');
e.style.color = '#16428b';
e.style.fontFamily = 'Helvetica, Arial, sans-serif';
e.style.backgroundColor = '#ccc';

答案 2 :(得分:1)

链接它。

$('#<%=lblMessage.ClientID%>').css("color", "#16428b").css("background","black");

大多数Jquery函数返回Jquery对象,因此您可以执行更多操作。

或者,对于css,您可以在一个属性对象中传递它们:

$('#<%=lblMessage.ClientID%>').css({color: "#16428b", background: "black"});

可在此处找到更多信息http://docs.jquery.com/CSS

答案 3 :(得分:0)

$('#<%=lblMessage.ClientID%>').css("color", "#16428b").css("background", "1px solid red");

这会起作用吗?

答案 4 :(得分:0)

Jquery的css选择器可以使用dictionary of options。所以你可以这样做:

$('#<%=lblMessage.ClientID%>').css({ 
   "color": "#16428b", 
   fontWeight: "bold", 
   "float": "left", 
   "font-size": 2em 
});

请注意,如果您不打算引用该属性,则需要使用它。如果您引用它,使用带连字符的版本就可以了。