Как получить цвет фона элемента с помощью JavaScript?

Следующий код (от Программирования WPF заказывают Chris Sell & Ian Griffiths), проверяет все обязательные правила об объекте зависимости и его детях:

public static class Validator
{

    public static bool IsValid(DependencyObject parent)
    {
        // Validate all the bindings on the parent
        bool valid = true;
        LocalValueEnumerator localValues = parent.GetLocalValueEnumerator();
        while (localValues.MoveNext())
        {
            LocalValueEntry entry = localValues.Current;
            if (BindingOperations.IsDataBound(parent, entry.Property))
            {
                Binding binding = BindingOperations.GetBinding(parent, entry.Property);
                foreach (ValidationRule rule in binding.ValidationRules)
                {
                    ValidationResult result = rule.Validate(parent.GetValue(entry.Property), null);
                    if (!result.IsValid)
                    {
                        BindingExpression expression = BindingOperations.GetBindingExpression(parent, entry.Property);
                        System.Windows.Controls.Validation.MarkInvalid(expression, new ValidationError(rule, expression, result.ErrorContent, null));
                        valid = false;
                    }
                }
            }
        }

        // Validate all the bindings on the children
        for (int i = 0; i != VisualTreeHelper.GetChildrenCount(parent); ++i)
        {
            DependencyObject child = VisualTreeHelper.GetChild(parent, i);
            if (!IsValid(child)) { valid = false; }
        }

        return valid;
    }

}

можно назвать это в обработчике событий нажатия кнопки сохранения как это на странице/окне

private void saveButton_Click(object sender, RoutedEventArgs e)
{

  if (Validator.IsValid(this)) // is valid
   {

    ....
   }
}
47
задан Rakesh Juyal 11 December 2009 в 10:16
поделиться

4 ответа

Как и все свойства css, содержащие дефис, их соответствующие имена в JS должны удалить дефис и сделать следующую букву заглавной: backgroundColor

alert(myDiv.style.backgroundColor);
41
ответ дан 26 November 2019 в 19:21
поделиться

Это зависит от того, какой стиль из div вам нужен. Это стиль фона, который был определен в CSS , или стиль фона, который был добавлен с помощью javascript (встроенный) в текущий узел?

В случае CSS ] стиль, вам следует использовать вычисленный стиль. Как и в getStyle () .

Для встроенного стиля вы должны использовать node.style ссылка: x.style.backgroundColor ;

Также обратите внимание, что вы выбираете стиль, используя ссылку camelCase / без дефиса, то есть не background-color , а backgroundColor ;

11
ответ дан 26 November 2019 в 19:21
поделиться

Использование JQuery :

var color = $('#myDivID').css("background-color");
3
ответ дан 26 November 2019 в 19:21
поделиться

С jQuery:

jQuery('#myDivID').css("background-color");

С прототипом:

$('myDivID').getStyle('backgroundColor'); 

С чистым JS:

document.getElementById("myDivID").style.backgroundColor
16
ответ дан 26 November 2019 в 19:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: