如何在javascript变量中使用jquery .css

时间:2014-09-09 14:26:41

标签: javascript jquery css

好的,这可能很简单,但我无法在Google或stackoverflow上找到它。

而不是

var color = $(div).css('color')

我想将css存储在一个变量中。

var theCss = $(div).css  
var color = theCss('color')  // no, doesn't work

有可能吗?当然,我想要这个的原因要复杂得多,所以如果以某种方式存储,我会得到很大的帮助

2 个答案:

答案 0 :(得分:5)

它比您预期的要复杂一些,但您可以将.bind$.fn.css混合使用。像这样:

var cssFunc = $.fn.css.bind($('p'));

然后,您可以这样称呼它:

cssFunc('color');

您也可以使用以下方法更改css:

cssFunc('color', red);

小提琴:http://jsfiddle.net/f8yanzsu/


对于浏览器支持,如@dfsq所说,您可以使用$.proxy.bind()函数的jQuery polyfill,IE 9及更高版本支持该函数。

var cssFunc = $.proxy($.fn.css, $('p'));

注意:此方法适用于所有jQuery方法,而不仅仅是css。

答案 1 :(得分:2)

你无法从jQuery获得所有CSS的总和。但是,您可以传入一组属性名称(从jQuery 1.9开始)并返回值列表:

var cssStuff = $(div).css(["color", "fontSize", "width"]);