U.P*_*U.P 13 javascript google-chrome
您好我正在为Google Chrome开发扩展程序,并使用window.getComputedStyle()来获取DOM元素的特定属性.这样,我获得了多个属性并构建了一个CSS.我想丢弃具有默认值的属性.我怎样才能做到这一点?我怎么知道属性的默认值?
浏览铬源导致我:node.ownerDocument.defaultView.getMatchedCSSRules(node,'');
我用它来创建这个函数,它只返回style属性或匹配的CSS规则定义的样式.getComputedStyle中出现的任何内容都不是默认值,但我猜这会返回您实际需要的内容:没有默认值的样式.
// WebKit only
function getStyle(node) {
var styles = {};
var rules = node.ownerDocument.defaultView.getMatchedCSSRules(node, '');
var i = rules.length;
while (i--) {
merge(styles, rules[i].style)
}
merge(styles, node.style);
return styles;
function merge(obj, style) {
var i = style.length;
while(i--) {
var name = style[i];
obj[name] = style.getPropertyCSSValue(name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4581 次 |
| 最近记录: |