【发布时间】:2011-05-27 19:28:35
【问题描述】:
我想在 DOM 中获取一个元素,然后查找我的 CSS 文件中的哪些规则有助于它的外观。类似于 firebug 或 webkits 检查器所做的。有没有办法在 JavaScript 中做到这一点?
更新:
我应该提供一个约束和一个具体的例子——我只对在基于 webkit 的浏览器中实现这一点感兴趣,所以跨浏览器的困难并不是什么大问题。我特别想要实现的是这个。假设我有一个样式表如下:
div {
background: #f0f0f0;
}
.example {
padding: 10px;
}
然后让我们说一些像这样的html代码:
<div id="test" class="example">
<hgroup>
<h1>Test</h1>
<h2>A sample file to play with.</h2>
</hgroup>
<ul class="sample">
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
</ul>
</div>
那么在 javascript 中,我希望能够有一个函数,可以从 CSS 中找到为对象设置样式的选择器:
get_selectors_for(document.getElementById('test'))
// should return:
// ['div','.example']
知道我们只需要担心 webkit 而不是所有浏览器,反向查询选择器有多复杂?
【问题讨论】:
-
我应该提到我只对在 webkit 中执行此操作感兴趣。没有那么多跨浏览器。
标签: javascript css dom