Есть ли способ выбрать все элементы, которые имеют данный стиль, используя JavaScript?
Например, я хочу, чтобы все абсолютно позиционированные элементы на странице.
Я бы предположил, что этолегче найти элементы по стилю, когда стиль явно объявлен:
- стиль не наследуется (например, позиционирование)
- стиль не является значением по умолчанию (как было быпозиция: статическая).
Ограничен ли я этими правилами?Есть ли лучший способ для применения этих правил?
Я бы с радостью использовал механизм выбора, если он предоставляется одним (в идеале Slick - Mootools 1.3)
РЕДАКТИРОВАТЬ:
Iпредложил решение, которое будет работать только с указанными выше правилами.
Оно работает путем циклического перебора всех правил стиля и затем выбора на странице.
Может кто-нибудь сказать мне, будет ли это лучше, чем циклическое прохождение всех элементов (как рекомендованово всех решениях).
Я знаю, что в IE я должен изменить стиль на строчные, но я мог бы проанализировать все стили одновременно, используя cssText.Оставьте это для простоты.
В поисках лучшей практики.
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]'));