Actualmente, estoy creando una aplicación que se genera a partir de un archivo JSON, selectores CSS y estilos. Actualmente estoy intentando obtener todos los estilos que afectan a un elemento, actualmente tengo una solución que no es buena. Actualmente, cada uno de mis selectores establece la misma variable personalizada heredando false, a su id, luego recorro el elemento y elimino dependiendo de cuál sea la id, esa variable de la id hasta que esté vacía nuevamente, luego los vuelvo a agregar a cada selector de CSS y use la matriz que tengo.
Esta solución es mala ya que está forzando muchos reflujos cuando elimino la variable y se escala linealmente, pero también se está volviendo más y más lenta a medida que más elementos secundarios tiene el elemento.
Podría obtener todos los elementos que afectan en el lanzamiento simplemente haciendo un bucle en cada selector con el selector de consulta, pero cuando agrego un elemento después de que se inició, sería demasiado costoso ejecutar el selector de consulta para cada selector de CSS para cada elemento que agrego y compararlos.
Otra solución podría ser escribir un algoritmo inverso, pero con ese sería extremadamente complicado debido a la gran complejidad de todos los selectores como nth-child, first, element, byAttribute, etc.-
¿Alguna idea?