terça-feira, 13 de abril de 2010

Um pouco mais de Jquery: Filter()

Olá pessoal...

Estou de volta para falar um pouco mais de jQuery.
O assunto hoje é o método Filter() deste excelente framework para javascript : )

Segundo a definição este método retorna um subconjunto dos elementos que casem com o seletor ou com o resultado de uma função em teste.

Vamos a um exemplo simples passando como seletor o elemento 'div' :



<html>

<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>

<title>Testando o método filter() jQuery</title>
<style>

div {
   width:60px;
   height:60px;
   margin:5px;
   float:left;
   border:2px white solid;
   background:#c8ebcc;
}

</style>
</head>

<body>

<div></div>

<div class="middle"></div>

<div class="middle"></div>

<div class="middle"></div>

<div class="middle"></div>

<div></div>

<script>
   $("div").filter(".middle").css("border-color", "red");
</script>

</body>
</html>


O código acima foi aproveitado do site oficial da jQuery (http://api.jquery.com/filter/), fiz apenas uma pequena mudança para ajudar mais na compreensão do exemplo.

A execução do código acima mostra 6 divs com a cor de fundo esverdeada, sendo que a 2º a 3º a 4º e a 5º divs estão com a borda vermelha.

Como isso é possível?

Graças ao método Filter().

$("div").filter(".middle").css("border-color", "red");


Este trecho de código seleciona todos os elementos div:

 $("div")

 
que possuam a classe middle:

filter(".middle")

 
e então, adicionam-lhes uma borda de cor vermelha:

.css("border-color", "red")

 

Portanto, o método filter() 'filtra' os elementos que coincidam com o seletor que lhe é passado como parâmetro.

Lembrando que o retorno é um conjunto de elementos jQuery e  por isso a possibilidade de se aplicar logo em seguida o método css() para manipular o estilo, no caso, a adição de uma borda vermelha.
 
Muito simples e fácil!
 
Por hoje é isso!

Até a próxima.

terça-feira, 16 de março de 2010

jQuery: uma maneira diferente de programar em javascript.

Quem nunca achou um tanto enfadonho programar com javascript?
Ter que escrever o velho e conhecido método 'document.getElementById('id')' para pegar um elemento da página.

Pois bem, jQuery é uma biblioteca ( framework ) javascript que vem para facilitar e deixar a programação mais leve e porque não dizer com um maior grau de satisfação para o próprio programador.

O slogan desse framework resume bem essa leveza: "Write less, do more", ou seja, "Escreva menos, faça mais".  http://jquery.com/

Vamos a um simples exemplo:


Se precisássemos pegar um elemento da página referenciando-o pelo seu ID:

Com javascript, faríamos:

document.getElementById('elemento');


Usando jQuery:

$('#elemento');


Bem mais simples, não é mesmo?

E se agora, em uma determinada página, precisássemos dar um alert para todos os elementos que possuíssem a classe 'color' atribuida aos mesmos:

Marcação HTML para o exemplo:

<html>
<body>

  <h1>Titulo1</h1>
  <p class="color" >Entendendo jQuery</p>
  <div class="color" ></div>

</body>
</html>



Com javascript, faríamos:

    var todos_elementos = document.getElementsByTagName('*');

    for (var i=0;i<todos_elementos.length; i++){
       var el = todos_elementos[i];
       if (el.className == 'color'){
          alert('O elemento ' +  el.tagName + ' possui a classe ' + el.className);         
        }
   }


Com jQuery, teríamos:

$('.color').each(function(){
    alert('O elemento ' + $(this).attr('tagName') + ' possui a classe ' + $(this).attr('class'));
}


Neste caso, o $('.color') seleciona todos os elementos que possuem a classe 'color', ou seja, é retornado um array com todos esses elementos.

Em seguida é aplicada a função each que itera sobre os elementos desse array.

E para finalizar, através da palavra reservada this ,torna-se possível obter o valor dos atributos 'tagName' e 'class' do dado elemento em questão.

Os resultados seriam 02 alerts com as seguintes saídas:

O elemento p possui a classe color.
O elemento div possui a classe color.


Bom, esse foi um exemplo bem simples da utilização do jQuery, no próximo post darei mais exemplos.

sexta-feira, 12 de março de 2010

Onde a internet não chega...

Estes últimos dias resolvi inovar, voltei aos velhos tempos e passei a me dedicar à tentativa de sintonizar uma estação de rádio, o inusitado de tudo isso é que estou fazendo enquanto me barbeio, é hilário.

Mas o engraçado mesmo é que lembrei-me de minhas manhãs, quando acordava ao som de um programa de rádio chamado "Programa do Zé Botinudo". Meu avô acordava bem cedo para ouvir as notícias logo pelas 6:00.

A estação que sintonizei foi a de um programa evangélico, com um bloco dedicado a pessoas que estão presas e espalhadas em penitenciárias pelo nosso Brasil. O programa dá espaço para o povo mandar uma mensagem para quem está encarcerado. Ouvi algumas mães, irmãos, filhas que ganharam a voz para falar o que estavam sentindo em favor de seus parentes. É de comover e dá uma dor no peito ouví-las falar.

Fiquei imaginando as condições desse povo nos presídios, o radinho na cela deve ser muito especial, é claro que temos de tudo lá dentro, mas acredito que muitos ficam aguardando aqueles preciosos minutos para ouvir a mãe dando um recado, ou a filha, ou os irmãos ou qualquer outro alguém que conheçam.

Pois lá a intenet não chega!

Ou chega?

Sobre o Blog

Gostaria de enfatizar que este blog está sendo criado com o propósito de expor diversos assuntos, portanto, vamos misturar as estações...

Desde assuntos de minha área de interesse, como Análise de Sistemas e Tecnologias afins, como talvez para o que aconteceu no último capitulo da novela da Globo ( Quem nunca assistiu novela que atire a primeira pedra...srsr ).

quinta-feira, 11 de março de 2010

Início, Gênesis, Boot, enfim: Começando

Olá meus queridos leitores...

Esse blog está nascendo de uma antiga vontade de estar participando, compartilhando e aprendendo mais sobre assuntos das mais diversas áreas legais, sejam elas exatas, humanas ou biológicas...enfim, sobre um pouco de tudo...

Por enquanto é isso, afinal, estamos começandooooo...