Dando continuidade ao artigo de seletores.
Para todos os exemplos será utilizado o mesmo código JavaScript, variando apenas o código para acessar o elemento. Código que se encontra na linha 5. Abaixo veja o código completo.
Para disparar a ação usamos um botão.
<script type="text/javascript" src="../jquery-1.2.6.js"></script> <script type="text/javascript"> $(function(){ $('button').click(function () { /*linha dos exemplos*/ }); }); </script>
Seletor anterior irmão
Esse seletor está previsto para as CSS 3. Esse seletor tem como objetivo acessar todos os elementos irmãos que se seguem ao elemento declarado como anterior.
$('h2 ~ p').css('background', 'red');
HTML
<button type="button">Vermelha</button> <p>Parágrafo antes do cabeçalho h2</p> <h2>Cabeçalho h2</h2> <p>Primeiro parágrafo</p> <p>Segundo parágrafo</p> <div>conteúdo da primeira div</div> <p>Terceiro parágrafo</p> <div> <p>Quarto parágrafo, dentro da segunda div</p> </div> <p>Quinto parágrafo</p>
No exemplo acima todos os parágrafos que estão fora das divs serão afetados, já que ele vem após o elemento h2 e são irmãos, são filhos do elemento body. Os que estão dentro das divs, não são afetados, porque seguem ao elemento div e não h2.
Um rápido teste. Se trocarmos o seletor para:
$('div ~ p').css('background', 'red');
Você seria capaz de dizer qual o efeito final. Quem será alvo da estilização?
Seletores filtros
Utilizado para fazer um filtro com uma condição. Podemos usar seletor simples e composto.
Seletor first, last e not
É alvo o primeiro elemento do conjunto de elementos selecionados.
$('p:first').css('background', 'red');
HTML
<button type="button">Vermelha</button> <div> <p>Primeiro parágrafo</p> <p>Segundo parágrafo</p> <p>Terceiro parágrafo</p> </div>
O alvo será o primeiro parágrafo.
Se trocarmos o seletor por:
$('p:last').css('background', 'red');
O alvo será o último parágrafo.
Temos também a opção de selecionarmos um conjunto e excluirmos uma instancia desse conjunto.
$('p:not(p:last)').css('background', 'red');
Acima estamos dizendo: selecione todos os p, não (not) o último p (p:last).
Seletor even e odd
Este é um seletor da biblioteca jQuery e não das CSS. Esse seletor acessa as ocorrências pares do conjunto de elementos selecionados. Em JavaScript a contagem inicia em 0 (zero).
$('li:even').css('background', 'red');
HTML
<ul> <li>Ítem 0</li> <li>Ítem 1</li> <li>Ítem 2</li> <li>Ítem 3</li> <li>Ítem 4</li> </ul>
O seletor vai afetar os seguintes itens da lista: 0, 2 e 4. Como explicado anteriormente a contagem JavaScript começa em 0 (zero) por isso o primeiro item da lista é afetado.
O Seletor odd faz tem a mesma função, só que acessa as ocorrências impares.
$('li:odd').css('background', 'red');
Seletor eq(índice)
Este é um seletor da biblioteca jQuery e não das CSS. Com esse seletor podemos dizer quem queremos acessar.
$('li:eq(3)').css('background', 'red');
O item 4 da lista será selecionado (já que a contagem inicia em 0).
Seletor gt(índice)
Este é um seletor da biblioteca jQuery e não das CSS. Acessa todas os elementos acima do valor passado no índice. Com o seletor acima será selecionado o item 3 e 4 da lista.
$('li:gt(2)').css('background', 'red');
Seletor lt(índice)
Faz o mesmo que o seletor gt(índice), só que acessa os elementos menores quem o valor passado para índice.
$('li:lt(2)').css('background', 'red');
Essa foi a segunda parte dos seletores. Em breve seletores jQuery parte III. Abraço a todos.
Comentários
Uma resposta para “Seletores jQuery – parte II”
Muito bom, me tirou algumas dúvidas cruéis.
Parabéns.