好的,这可能很简单,但我无法在Google或stackoverflow上找到它。
而不是
var color = $(div).css('color')
我想将css存储在一个变量中。
var theCss = $(div).css
var color = theCss('color') // no, doesn't work
有可能吗?当然,我想要这个的原因要复杂得多,所以如果以某种方式存储,我会得到很大的帮助
答案 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"]);