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.