Попробуйте это:
$(document).ready(function() {
$(".title").each(function() {
if ($(this).css("background").match(/gradient/)) {
console.log('gradient');
} else {
console.log('solid color')
}
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='title' style='background:linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); padding:14px 9px 9px 9px; color:black;'>LOREM</div>
<div class='title' style='background:linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); padding:14px 9px 9px 9px; color:black;'>LOREM</div>
<div class='title' style='background:#f00; padding:14px 9px 9px 9px; color:black;'>LOREM</div>
Объяснение: Вы l oop просматриваете все элементы с классом .title
и читаете свойство css background с помощью $(this).css("background")
- если оно содержит строка «градиент», градиент, если нет, то нет.
Это, однако, не учитывает градиент от красного к красному, например, который технически будет градиентом, но показан как solid color.
(возможно, для вас это вообще не важно)
И да, как указано ниже, регулярное выражение /gradient/
может давать ложные срабатывания в некоторых случаях (имена файлов, содержащие слово «градиент», например). Просто придумайте более сложное регулярное выражение для своего точного сценария. Общая концепция, однако, остается прежней.