2014-11-04 43 views
2

我有一个使用存储在变量中的CSS样式进行样式化的div。 像这样:JQuery应用存储在变量中的css

var styles = 'font-weight","bold"'; 
 

 
$('div').css(styles);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div>The Div to be styled</div>

这说明什么,我想这样做,但它不会工作。有没有人有任何想法。 谢谢。

+0

'的.css({fontWeight设置: '大胆'})'? – andlrc 2014-11-04 13:15:31

+2

为什么不使用任何CSS规则使用类和设置样式?这是如何应该做的IMho – 2014-11-04 13:17:56

+0

相关:[jQuery的css()不工作的字符串](http://stackoverflow.com/questions/18082279/jquery-css-is-not-working-with-a-字符串) – undefined 2014-11-04 13:19:27

回答

10

尝试,

var styles = {'font-weight':'bold'}; 
$('div').css(styles); 

在你的代码是通过一个单一的string参数的.css()功能。这不是.css()设置样式值时支持的有效签名。

var styles = {'font-weight':'bold'}; 
 
$('div').css(styles);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div>The Div to be styled</div>

+1

列出的第一种方法似乎工作:) – StorySystems 2014-11-04 13:19:33

+0

@StorySystems,你应该接受答案 – 2014-11-04 17:29:42

1

的.css要求无论是对两个字符串(RuleName中和值)或名称/值对的对象,如果你尝试设置的规则。如果您只交付一个字符串,它会尝试返回匹配名称(在您的情况下不存在)的规则的值。

试试这个:

var styles = {'font-weight': "bold"}; 

$('div').css(styles); 

工作小提琴:http://jsfiddle.net/ocgb77m8/