no creo que esto realmente se puede lograr a través de CSS en la forma en que el PO quiere. CSS simplemente no funciona de esa manera.
Un mejor enfoque en mi opinión es dar un paso atrás y ver el panorama general. Tiene un formulario donde algunos campos son obligatorios y otros no. Es un buen enfoque dar al usuario todos los campos requeridos primero, o agrupar los campos requeridos, y mantenerlos claramente separados de los campos opcionales.
puede crear una estructura como
<form>
<ul class="required_fields">
<li>
<label>username</label>
<input />
</li>
<li>
<label>email</label>
<input />
</li>
</ul
<ul class="optional_fields">
...
</ul>
</form>
/* CSS */
.required_fields label {font-weight: bold}
.required_fields label:after { content: "*"; color: red } /*more styles for labels*/
Hay una serie de beneficios para este enfoque. Puede agregar y eliminar elementos del grupo 'requerido' fácilmente sin tener que modificar cada uno individualmente. Puede asignar la clase 'requerida' a la altura de la cadena que desee. Si el formulario tiene la clase 'requerida', todo lo que contiene se etiquetará según sea necesario. Hay menos lugares para hacer cambios, si decidiste que la clase 'requerida' debería llamarse otra cosa. Y, en general, este enfoque también lo ayuda a organizar mejor sus formularios. No debe mezclar los campos obligatorios y opcionales.
Puede llevar esto un paso más allá y tener algún javascript que inyecte el atributo requerido en los campos de entrada también.
$(".required_fields input").each(function(){
this.setAttribute('required', 'required');
});
Aparentemente las preguntas y respuestas usan el formato, pero los comentarios no. El problema con esa sugerencia es que el atributo requerido pertenece al elemento de entrada, no al elemento de etiqueta. También en el CSS, mejor sólo decir: de entrada [requerido] porque el único marcado válido es: HTML -> requerido XHTML -> requerido = "required" requerido = "false" o algo por el estilo no es válido. –
También vea: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-required-attribute –
Sí, required = required no es necesario. Pero si entonces él quiere poder obtener todas las etiquetas de etiquetas asociadas a las entradas que tienen el atributo requerido, no creo que eso sea posible. Puede obtener todas las entradas @required 'input [required]', pero no todas las etiquetas a menos que sean un nodo secundario de la entrada, lo cual es incorrecto incluso en HTML. – Tom