Estoy tratando de encontrar una manera de obtener todos los elementos que tienen estilos específicos.
//let's say let d = $(document) No hay forma de hacer d.find o d.filter para todos los niños que tienen .css('background-image') . El nodo que debe buscarse siempre es diferente, ya que proviene de mutation.target .
Use el selector * para encontrar todos los elementos, luego use .filter() para probar .css() con el estilo que desee.
$(document).find("*").filter(function() { return $(this).css('background-image'); });Pruebe el siguiente ejemplo:
var elements = document.querySelectorAll( 'li[style*="background:red"]' ); console.log(elements); <ul> <li style="background:red;">test1</li> <li style="background:blue;">test2</li> <li style="background:green;">test3</li> <li style="background:red;;">test4</li> </ul>Aquí hay una solución genérica que obtiene los elementos de acuerdo con su propiedad de estilo, pero cada propiedad tiene su propia estructura, por ejemplo, el fondo y el color están en la estructura rgb() , daré un ejemplo simple sobre la propiedad de estilo de ancho:
const elements = $('li').filter(function() { return getComputedStyle(this).width == '100px'; }); console.log('elements: ', elements) .width-100 { width: 100px; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <ul> <li style="background:red;">test1</li> <li style="background:red; width:100px">test2</li> <li style="background:red;">test3</li> <li class="width-100" style="background:red;">test4</li> </ul>