¿Cómo seleccionar y aplicar estilos para el elemento html que no tiene un hijo definido?

¿Cómo seleccionar y aplicar estilos para el elemento html que no tiene un elemento secundario definido? Por ejemplo:

<p>Lorem</p>
<p>Isum <span>dolor</span></p>

Quiero aplicar algunos estilos para la primera p porque no contiene el elemento span.

¿Es posible hacerlo por CSS?

preguntado el 12 de junio de 12 a las 15:06

Solo puede viajar por el DOM, por lo que no puede seleccionar el padre, no puede hacerlo con css. Necesitarás javascript. -

No creo que esto sea posible en CSS. -

No, no es posible. Y por "niño definido" probablemente te refieres a "elemento secundario". -

5 Respuestas

Tendrías que poner un selector en esa primera p para hacer esto solo en CSS:

http://jsfiddle.net/6EmxP/

Puede usar la ruta jQuery para hacer lo mismo.

Respondido el 12 de junio de 12 a las 15:06

Es posible tener muchos p y no sé cuál tiene un hijo. - eugenio kuzmin

Si no sabe qué p tendrá el elemento secundario span, tendrá que optar por una solución javascript/jQuery. Actualmente no hay forma de subir el DOM con CSS, puede usar jQuery para sortear esa limitación. - Lowkase

¿Por qué no le das eso? <p> una clase o algo asi? Si desea que sea dinámico, agregue una clase usando javascript. Puedes configurar mejor las condiciones con eso. CSS no es su respuesta en este caso. Esto puede ser útil de alguna manera :) http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/

Respondido el 12 de junio de 12 a las 15:06

No creo que puedas hacerlo con css. Puedes hacerlo con jQuery...

Vea http://api.jquery.com/has/

Respondido el 12 de junio de 12 a las 15:06

No es necesario seleccionar el padre, creo ...

<p class="Lorem">Lorem</p>
<p>Isum <span>dolor</span></p>


.Lorem + p {color: green;}

Respondido el 12 de junio de 12 a las 15:06

Si todavía tiene curiosidad sobre el selector de padres. Lea esta respuesta - stackoverflow.com/questions/1014861/… - petirrojo maben

Tu primero p elemento en realidad tiene un hijo: es un nodo de texto. De lo contrario, :empty puede ser usado.

Cuando sepa la posición exacta del elemento, :nth-child puede ser usado. No hay necesidad de una clase (pero sería más rápido).

Respondido el 12 de junio de 12 a las 15:06

Por "niño" me refiero a cualquier elemento html secundario. Lo siento. - eugenio kuzmin

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.