jquery – 获取尚未应用的类的CSS属性值

我有一个同样的问题在这里问(不能评论它,也许没有特权),我想得到样式表中定义的css宽度值但尚未应用于dom中的任何元素,(其引导css与网格响应媒体查询)

.span6 { width: 570px; } 

然而,在上面引用的问题中提供的解决方案返回0,即像这

 $('
').addClass('span6').width();

但是如果我这样做的话会有效

  $('
').addClass('span6').hide().appendTo('body').width();

没有附加该div的任何简单方法?

为了读取CSS属性值,您需要动态地将隐藏元素插入DOM,读取属性并最终将其删除:

 var getCSS = function (prop, fromClass) { var $inspector = $("
").css('display', 'none').addClass(fromClass); $("body").append($inspector); // add to DOM, in order to read the CSS property try { return $inspector.css(prop); } finally { $inspector.remove(); // and remove from DOM } };

jsFiddle在这里

何塞的伟大答案。 我修改它以帮助更复杂的css选择器。

 var getCSS2 = function (prop, fromClass, $sibling) { var $inspector = $("
").css('display', 'none').addClass(fromClass); if($sibling != null){ $sibling.after($inspector); //append after sibling in order to have exact } else { $("body").append($inspector); // add to DOM, in order to read the CSS property } try { return $inspector.css(prop); } finally { $inspector.remove(); // and remove from DOM } };

的jsfiddle