¿Selector de CSS para "foo que contiene barra"? [duplicar]

Resuelto Michael Gundlach asked hace 14 años • 3 respuestas

¿Hay alguna manera de crear un selector de CSS que coincida con lo siguiente?

All OBJECT elements
  which have a PARAM element inside of them

el seleccionador

OBJECT PARAM

no funciona, ya que coincide con PARAM, no con OBJECT. Me gustaría aplicar { display:none } a los objetos; Es inútil aplicar eso a los PARAM.

(Soy consciente de que podría lograr esto con jQuery - $("object param").closest("object")- y VanillaJS - document.querySelector("object param").closest("object")- pero estoy intentando crear reglas CSS en una página).

Michael Gundlach avatar Jan 04 '10 23:01 Michael Gundlach
Aceptado

No, lo que buscas se llamaría selector de padres . CSS no tiene ninguno; Se han propuesto varias veces, pero no conozco ninguna norma existente o futura que los incluya. Tiene razón en que necesitaría usar algo como jQuery o usar anotaciones de clases adicionales para lograr el efecto que desea.

Aquí hay algunas preguntas similares con resultados similares:

  • ¿Existe un selector principal de CSS?
  • Selector de padres/antepasados ​​CSS
  • Selector CSS complejo para padre de hijo activo
Michael Greene avatar Jan 04 '2010 16:01 Michael Greene

Lo único que se acerca es la :containspseudoclase en CSS3, pero solo selecciona contenido textual, no etiquetas ni elementos, así que no tienes suerte.

Una forma más sencilla de seleccionar un padre con hijos específicos en jQuery se puede escribir como (con :has()):

$('#parent:has(#child)');
Tatu Ulmanen avatar Jan 04 '2010 16:01 Tatu Ulmanen