Выбор элементов с определенным цветом фона
-
08-07-2019 - |
Вопрос
Я хочу выбрать несколько span
s в a div
чей CSS содержит определенный цвет фона.Как мне этого добиться?
Решение
если я правильно понимаю вопрос, селектор [attribute=value]
не сработает потому что <span>
не содержит атрибута "background-color".вы можете быстро протестировать это, чтобы убедиться, что это ничему не соответствует:
$('#someDiv span[background-color]').size(); // returns 0
данный:
.one, .two {
background-color: black;
}
.three {
background-color: red;
}
вот фрагмент, который будет работать:
$('div#someDiv span').filter(function() {
var match = 'rgb(0, 0, 0)'; // match background-color: black
/*
true = keep this element in our wrapped set
false = remove this element from our wrapped set
*/
return ( $(this).css('background-color') == match );
}).css('background-color', 'green'); // change background color of all black spans
.one, .two {
background-color: black;
}
.three {
background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<div id="someDiv">
<span class="one">test one</span>
<span class="two">test two</span>
<span class="three">test three</span>
</div>
Другие советы
Используйте селектор атрибута [attribute = value], чтобы найти определенное значение атрибута.
#id_of_the_div span[background-color=rgb(255,255,255)]
Не связан с StackOverflow