作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 jQuery 中,我们可以使用 css
方法轻松获取给定元素的 CSS 值:
$('#myElement').css('line-height'); // e.g. '16px'
现在,由于这个 CSS 值可能是从父元素继承的,有没有办法知道哪个元素应用了这个规则?
例如,假设我有以下 HTML:
<div class="parent">
<div id="myElement"></div>
</div>
和以下 CSS:
.parent {
line-height: 20px;
}
在#myElement
上调用css
方法会返回20px
,但不会表示继承自.parent
。
我知道我可以启动 Web Inspector
/Dev Tools
/Firebug
,但我想以编程方式获取它。
这有可能吗?
最佳答案
沿着 parentElement 链向上走,检查每个元素的 css() 值。具有不同 parent().css() 值的第一个元素(可能)是 CSS 规则选择器所针对的元素。
有关示例,请参阅此 fiddle :http://jsfiddle.net/broofa/VPWV9/2/ (查看 console.log 输出)
(注意:几乎可以肯定,在某些复杂情况下,这不会按预期工作,但对于所描述的情况,它可以工作。)
关于javascript - 获取从中继承 CSS 规则的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249660/
这个问题在这里已经有了答案: Is a moved-from vector always empty? (4 个答案) 关闭 4 年前。 从 std::vector move 数据后,它的容量是否必
我是一名优秀的程序员,十分优秀!