getComputedStyle: function(node) { var s = node.style, cs = new CSSStyleDeclaration(), forEach = Array.prototype.forEach, selectors, matched; forEach.call(node.ownerDocument.styleSheets, function (sheet) { forEach.call(sheet.cssRules, function (ruleSet) { selectors = ruleSet.selectorText ? ruleSet.selectorText.split(/\s*,\s*/) : []; matched = false; selectors.forEach(function (selectorText) { if (!matched && matchesDontThrow(node, selectorText)) { matched = true; forEach.call(ruleSet.style, function (property) { cs.setProperty(property, ruleSet.style.getPropertyValue(property), ruleSet.style.getPropertyPriority(property)); }); } }); }); }); forEach.call(s, function (property) { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); }); return cs; },
this.getComputedStyle = function (node) { const nodeImpl = idlUtils.implForWrapper(node); const s = node.style; const cs = new CSSStyleDeclaration(); const { forEach } = Array.prototype; function setPropertiesFromRule(rule) { if (!rule.selectorText) { return; } const selectors = rule.selectorText.split(cssSelectorSplitRE); let matched = false; for (const selectorText of selectors) { if (selectorText !== "" && selectorText !== "," && !matched && matchesDontThrow(nodeImpl, selectorText)) { matched = true; forEach.call(rule.style, property => { cs.setProperty(property, rule.style.getPropertyValue(property), rule.style.getPropertyPriority(property)); }); } } } function readStylesFromStyleSheet(sheet) { forEach.call(sheet.cssRules, rule => { if (rule.media) { if (Array.prototype.indexOf.call(rule.media, "screen") !== -1) { forEach.call(rule.cssRules, setPropertiesFromRule); } } else { setPropertiesFromRule(rule); } }); } readStylesFromStyleSheet(defaultStyleSheet); forEach.call(node.ownerDocument.styleSheets, readStylesFromStyleSheet); forEach.call(s, property => { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); }); return cs; };
this.getComputedStyle = function (node) { var s = node.style; var cs = new CSSStyleDeclaration(); var forEach = Array.prototype.forEach; function setPropertiesFromRule(rule) { if (!rule.selectorText) { return; } var selectors = rule.selectorText.split(cssSelectorSplitRE); var matched = false; selectors.forEach(function (selectorText) { if (selectorText !== "" && selectorText !== "," && !matched && matchesDontThrow(node, selectorText)) { matched = true; forEach.call(rule.style, function (property) { cs.setProperty(property, rule.style.getPropertyValue(property), rule.style.getPropertyPriority(property)); }); } }); } function readStylesFromStyleSheet(sheet) { forEach.call(sheet.cssRules, function (rule) { if (rule.media) { if (Array.prototype.indexOf.call(rule.media, "screen") !== -1) { forEach.call(rule.cssRules, setPropertiesFromRule); } } else { setPropertiesFromRule(rule); } }); } readStylesFromStyleSheet(defaultStyleSheet); forEach.call(node.ownerDocument.styleSheets, readStylesFromStyleSheet); forEach.call(s, function (property) { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); }); return cs; };
getComputedStyle: function(node) { var s = node.style, cs = new CSSStyleDeclaration(), forEach = Array.prototype.forEach; function setPropertiesFromRule(rule) { if (!rule.selectorText) { return; } var selectors = rule.selectorText.split(/\s*,\s*/); var matched = false; selectors.forEach(function (selectorText) { if (!matched && matchesDontThrow(node, selectorText)) { matched = true; forEach.call(rule.style, function (property) { cs.setProperty(property, rule.style.getPropertyValue(property), rule.style.getPropertyPriority(property)); }); } }); } forEach.call(node.ownerDocument.styleSheets, function (sheet) { forEach.call(sheet.cssRules, function (rule) { if (rule.media) { if (Array.prototype.indexOf.call(rule.media, 'screen') !== -1) { forEach.call(rule.cssRules, setPropertiesFromRule); } } else { setPropertiesFromRule(rule); } }); }); forEach.call(s, function (property) { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); }); return cs; },
forEach.call(s, function (property) { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); });
forEach.call(rule.style, function (property) { cs.setProperty(property, rule.style.getPropertyValue(property), rule.style.getPropertyPriority(property)); });
forEach.call(s, property => { cs.setProperty(property, s.getPropertyValue(property), s.getPropertyPriority(property)); });
forEach.call(rule.style, property => { cs.setProperty(property, rule.style.getPropertyValue(property), rule.style.getPropertyPriority(property)); });
export function getStyleValue(element, propName) { parser.cssText = element.getAttribute('style'); return parser.getPropertyValue(propName); }