【发布时间】:2013-03-27 19:10:54
【问题描述】:
我正在编写一个脚本,它需要检查是否在 <style> 标记内定义了某些 CSS 属性。
<style type="text/css">
#bar {width: 200px;}
</style>
<div id="foo" style="width: 200px;">foo</div>
<div id="bar">bar</div>
// 200px
console.log(document.getElementById("foo").style.width);
// an empty string
console.log(document.getElementById("bar").style.width);
if(property_width_defined_in_style_tag) {
// ...
}
这可能吗?
我不是想得到getComputedStyle(ele).width btw。
【问题讨论】:
-
“我不是想得到 getComputedStyle(ele).width 顺便说一句。” 然而,你的代码示例表明这正是你想要做的。如果不是,你想做什么是?
-
我正在尝试从 #bar 获取一些字符串(在这种情况下为 200px)而不是“空字符串”,因为样式是在样式标签中定义的。
-
@用户:
getComputedStyle会这样做。 -
克劳德,请阅读标题,这正是我想要做的。
getComputedStyle肯定会返回一些实际值,但是您无法从样式标记或内联样式中判断样式的定义位置。 @dystroy 的建议可能是解决方案。 -
@用户:我看到标题了。您需要了解人们总是说 X 表示 Y。是的,当然,如果您认为这是最好的方法,请查看样式表。另一个可能是将
style对象与getComputedStyle的返回值进行比较。
标签: javascript css styles