Vybrat prvek podle stylu CSS (všechny s daným stylem)

Existuje způsob, jak pomocí JavaScriptu vybrat všechny prvky, které mají daný styl?

Např. chci všechny absolutně umístěné prvky na stránce.


Předpokládal bych, že je jednodušší najít prvky podle stylu, kde je styl výslovně deklarován:

  • styl není zděděný (např. umístění)
  • styl není výchozí (jako by byl position:static).

Jsem omezený na tato pravidla? Existuje lepší metoda, kdy tato pravidla platí?

S radostí bych použil selektorový engine, pokud jej jeden poskytuje (ideálně Slick – Mootools 1.3)

UPRAVIT:
Přišel jsem s řešením, které bude fungovat pouze s výše uvedenými pravidly.
Funguje to tak, že procházíte každým pravidlem stylu a poté selektorem na stránce.
Mohl by mi někdo říct, jestli je to lepší než cyklování přes všechny prvky (jak je doporučeno ve všech řešeních).
Jsem si vědom, že v IE musím změnit styl na malá písmena, ale že bych mohl analyzovat všechny styly najednou pomocí cssText. Pro jednoduchost to vynechejte.
Hledám osvědčené postupy.

var classes = '';
Array.each(documents.stylesheets, function(sheet){
   Array.each(sheet.rules || sheet.cssRules, function(rule){
      if (rule.style.position == 'fixed') classes += rule.selectorText + ',';
   });
});
var styleEls = $$(classes).combine($$('[style*=fixed]'));

Odpověď

Pro Mootools:

var styleEls = $$('*').filter(function(item) {
    return item.getStyle('position') == 'absolute';
});