vit*_*tch 12 css jquery dimensions
与此问题类似: 在jQuery中获取CSS规则的百分比值
但是,我正在编写一个插件,它需要优雅地处理它,这取决于最初指定的宽度.如果元素在像素最初指定它是好的,因为这是该值.width(),.innerWidth(),outerWidth()和.css('width')回报.
但我想知道它是否是原始设置百分比.因此,如果容器元素调整大小,那么我知道重新计算我在元素上设置的宽度.
这可能吗?我唯一能想到的是试图遍历document.stylesheets寻找相关规则,但我认为这或多或少不可能做到一般.还有其他想法吗?
谢谢!
这似乎.css('width')对我有用。
展示此作品的小例子:
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div style="width:10%;" id="foo"></div>
<script>
alert($("#foo").css('width'));
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这给了我“10%”的输出。希望我没有错过任何明显的事情。
我找不到一种方法来完成我在问题中所要求的操作,但我想出了一个解决方法,它允许我在我的情况下做我需要做的事情。有问题的代码适用于我的 jQuery 插件,名为 jScrollPane ( http://jscrollpane.kelvinluck.com/ )。最后我所做的是将宽度设置为 null ( elem.css('width', null);)。这会删除我之前自己设置的宽度,并允许元素采用样式表中定义的自然宽度(即使用百分比,如果它是这样定义的)。然后我可以测量这个新值并用它来将宽度设置为我想要的数字......