Somente CSS: destaque o rótulo ao focar um campo de entrada

Um seletor adjacente corresponde a um elemento imediatamente seguido pelo próximo elemento (E + F). Se usarmos a ordem comum dos elementos do formulário – rótulo seguido de entrada – já estaremos presos. Ok, vamos revertê-los. Mas então surge um novo problema! Sim, visualmente, o rótulo segue após o campo de entrada real. Se você quiser colocá-lo novamente acima da entrada de texto, precisamos mudar (visualmente) as posições dos controles novamente. Isso pode ser feito por meio de uma pseudotabela CSS.

<div class="pseudo-table">
<input id="yourname" name="yourname" type="text" placeholder="Name...">
<label for="yourname">Name</label>
</div>

O estilo da mesa artificial é …

.pseudo-table { display: table;  }

Com isso no lugar, poderíamos transformar o rótulo, por exemplo, em um grupo de cabeçalho de tabela:

label { display: table-header-group; }

e o campo de entrada para um grupo de linha de tabela:

input { display: table-row-group; }

Em combinação com nosso seletor adjacente , terminamos e parece certo:

input:focus + label { color:red; font-weight: bold; }

Portanto, nenhum script jQuery é necessário para dominar essa tarefa.

Para uma demonstração, consulte este Fiddle

HTH