От ссылка MySQL JOIN :
"STRAIGHT_JOIN подобен СОЕДИНЕНИЮ, за исключением того, что стол, из-за которого встают, всегда читается перед правильной таблицей. Это может использоваться для тех (небольшое количество) случаи, для которых оптимизатор соединения помещает таблицы в неправильный порядок".
Просто создайте элемент с этим именем класса и проверьте его. Вам даже не нужно прикреплять его к DOM:
var $el = $('<div class="classname"></div>');
var opacity = $el.css('opacity') // or whatever
Хотя $ el
фактически не присутствует в DOM, вы все равно получаете доступ ко всем его свойствам стиля.
Edit : как упоминалось в комментариях, этот подход не всегда работает должным образом (например, унаследованные значения css не определены явно в .classname, специфичность селектора выше .classname и т. Д.).
Например, следующая ошибка не выполняется из-за того, что #foo
увеличивает специфичность селектора по сравнению с автономным .bar
:
css:
#foo .bar { color: red; }
js:
var $el = $('<div class="bar"></div>');
$el.css('color'); // Expected: "red", Actual: ""
Вам необходимо проанализировать стили из document.styleSheets
.
См. http://www.hunlock.com/blogs/Totally_Pwn_CSS_with_Javascript , который представляет кроссбраузерный подход к динамическому получению и добавлению CSS.
Он работает с document.styleSheets
и оба IE .rules
и все остальные .cssRules
Он также имеет то преимущество, что он несколько абстрактен, поэтому вам не нужно беспокоиться о подробнее.
Вышеупомянутая ссылка больше не работает. Ниже приведен снимок экрана статьи в блоге, захваченный архивом Интернета в 2008 году.
Функция в основном выполняет итерацию по всем стилям всех таблиц стилей и предоставляет возможность изменять / удалять их.
Обратите внимание на ], что это не рекомендуется, поскольку большинство современных таблиц стилей слишком велики, чтобы сделать эту операцию эффективной.