Правила CSS с множеством возможных значения (jQuery)

Вопрос простой; используя функцию jQuery css , вычисленный стиль атрибута CSS может быть возвращен, но что, если существует более одного стиля для визуализируемого атрибута? Например:

Some underline text

Инструкция $ ('# foo'). Css ('text-decoration'); вернет подчеркивание . Теперь, если я изменю его на

Some underline text

, инструкция $ ('# bar'). Css ('text-decoration'); вернет сквозную строку , хорошо.

] Но фактический текст также подчеркивание ! Как я могу вернуть оба? Нужно ли мне искать всех предков, если я хочу знать, является ли какой-то текст одновременно подчеркиванием и сквозной строкой ? Звучит немного обидно, не так ли?

** Edit **

Другая проблема возникает с этим HTML

some text

, где $ ('# e1'). Css ('text- украшение '); по какой-то причине возвращает none , в то время как текст явно подчеркнут.

** Заявление об ограничении ответственности **

Этот вопрос не чтобы обсудить, как UA отображает элемент, но применяет ли иерархия элементов CSS или нет. Если кто-то хочет лучше понять украшение текста , я предлагаю прочитать об этом . Вопрос пытается сосредоточиться на более общем вопросе. Например, это также может применяться к этому HTML

Some hidden text

, где можно захотеть узнать, отображается ли ключевое слово элемента или нет. С помощью приведенного ниже кода это просто делается с помощью

cssLookup($('#keyword'), 'display', 'none');   // -> true

** UPDATE **

После всех ответов и комментариев вот, на основе решения Брока Адамса :

/**
 * Lookup the given node and node's parents for the given style value. Returns boolean
 *
 * @param e     element (jQuery object)
 * @param style the style name
 * @param value the value to look for
 * @return boolean
 */  
function cssLookup(e, style, value) {
    var result = (e.css(style) == value);
    if (!result) {
        e.parents().each(function() {
            if ($(this).css(style) == value) {
                result = true;
                return false;
            }
        });
    }

    return result;
}

Спасибо всем за ваш вклад.

13
задан Community 23 May 2017 в 12:04
поделиться