Usar el selector 'comienza con' en los nombres de clase individuales

Si tengo lo siguiente:

<div class="apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

Puedo usar el siguiente selector para encontrar los dos primeros DIV:

$("div[class^='apple-']")

Sin embargo, si tengo esto:

<div class="some-other-class apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

Solo encontrará el segundo DIV, ya que la clase del primer div se devuelve como una cadena (creo) y en realidad no comienza con 'apple-' sino más bien 'some-'

Una forma de evitar eso es no usar comienza con, sino que contiene:

$("div[class*='apple-']")

El problema con eso es que también seleccionará el 3er DIV en mi ejemplo.

Pregunta: A través de jQuery, ¿cuál es la forma correcta de usar selectores de predicados en nombres de clase individuales, en lugar de todo el atributo de clase como una cadena? ¿Es solo una cuestión de agarrar la CLASE, luego dividirla en una matriz y luego recorrer cada una individualmente con expresiones regulares? ¿O hay una solución más elegante / menos detallada?

Respuestas a la pregunta(6)

Su respuesta a la pregunta