Изменить цвет на многих элементах CSS с помощью JQuery - PullRequest
0 голосов
/ 23 марта 2012

Как изменить цвет всех элементов CSS, имеющих цвет / background-color # d10044?

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Попробуйте это:

$('*').each(function() {
    if($(this).css("background-color") == "#d10044") {
        // do whatever you need to those elements here
    }
});​​​​

Он проходит через все элементы на странице, поэтому это может быть довольно медленным.Если у вас есть способ сузить список возможных элементов, это было бы предпочтительнее, чем глобальный (*) оператор.

1 голос
/ 23 марта 2012
$('*').filter(function(i){  
    return $(this).css("background-color") == $("<div style='color:#d10044'/>").css("color");
}).css("color", "#000")

http://api.jquery.com/filter/

Вам нужно будет сделать некоторую нормализацию для значения Hex, потому что браузеры могут сообщать цвет как rgba или другой формат

РЕДАКТИРОВАТЬ: сделал это для вас

Вот скрипка http://jsfiddle.net/Pvg8h/

0 голосов
/ 23 марта 2012

Вы не можете выбирать элементы на основе значений атрибутов CSS с помощью jQuery.

Вы должны будете пройти по всем переменным по отдельности и проверить их значение цвета фона, а затем изменить его, если оно было # d10044.

Еще одна вещь, которую вы можете сделать, это добавить класс к тегу, а затем использовать CSS для переопределения цветов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...