Usando jQuery na prática
Leia em 4 minutos
O jQuery, sem sombra de dúvidas, revolucionou a maneira como escrevemos Javascript. Baseado no atalho $ para document.getElementById, o jQuery estendeu-o muito além do que se podia imaginar, misturando-o com a função document.getElementsBySelector.
Além do evidente aumento de produtividade, o tamanho da biblioteca impressiona: a versão 1.2.3 tem apenas 29kb para fazer tudo o que você precisa: requisições AJAX, iteração e criação de elementos DOM, tratamento de eventos... resumindo, é uma biblioteca completa, sem deixar a simplicidade de lado.
Uma coisa que deve ficar muito clara quando você começa a trabalhar com jQuery são os seletores disponíveis, baseados em CSS 1-3 e alguns adicionados pelo próprio jQuery. Sem eles, você não tem por onde começar. Então, aqui vai uma lista super-detalhada dos seletores disponíveis no jQuery.
Seletores
Os exemplos que mostrarei são baseados no seguinte markup:
<body>
    <h1>jQuery Selectors</h1>
    <h2>This is a visible H2</h2>
    <h2 style="display: none;">This is a hidden H2</h2>
    <p>This is just a dummy text.</p>
    <p>This is just a dummy text too.</p>
    <ul id="list" class="list-class">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
    <p>
        <strong>Sample:</strong> Visit our
        <a href="#" target="_blank" id="sample">sample page</a>!
    </p>
    <div id="empty-div"></div>
    <div>
        <p>
            <span>
                <em>Inside a span</em>
            </span>
        </p>
        <p>
            <em>Inside a paragraph</em>
        </p>
    </div>
    <p>
        <input type="button" disabled="disabled" value="Disabled button" />
        <input type="button" value="Click me!" />
        <button>Click me too!</button>
    </p>
    <p>
        <input type="checkbox" id="checkbox" checked="checked" />
        <label for="checkbox">I'm checked</label>
    </p>
    <p>
        <select>
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3" selected="selected">Option 3</option>
        </select>
    </p>
    <dl>
        <dt>Colors</dt>
        <dd class="color">Blue</dd>
        <dt>Shapes</dt>
        <dd class="shape">Circle</dd>
        <dt>Words</dt>
        <dd class="word">Power</dd>
    </dl>
</body>CSS 1-3
-  
*: qualquer elemento.$('p.comment-meta *'); // get all elements inside p.comment-meta -  
E: pega qualquer elemento com o nomeE.$('div'); // get all div tags -  
E:nth-child(n): em um elementoE, pega o elementonde seu pai.$('li:nth-child(2)'); // get <li>Item 2</li> -  
E:first-child: em um elementoE, pega o primeiro filho de seu pai.$('li:first-child'); // get <li>Item 1</li> -  
E:empty: um elementoEque não possui filhos.$('div:empty'); // get <div id="empty-div"></div> -  
E:enabled: um elementoEque está ativo.$('input:enabled'); // get <input type="button" value="Click me!" /> -  
E:disabled: um elementoEque está inativo.$('input:disabled'); // get <input type="button" disabled="disabled" value="Disabled button" /> -  
E:checked: um elementoE(radio ou checkbox) que está selecionado.$('input:checked'); // get <input type="checkbox" checked="checked" /> -  
E:selected: um elementoE(option) que está selecionado.$('option:selected'); // get <option value="3">Option 3</option> -  
E F: um elementoEque tenha um filhoF.$('p strong'); // get <strong>Sample:</strong> -  
E > F: um elementoFdentro deE.$('p > em'); // get <em>Inside a paragraph</em> but not <span><em>Inside a span</em></span> -  
E + F: elementoFimediatamente precedido por um elementoE.$('h1 + p'); // get <p>This is just a dummy text.</p> -  
E ~ F: elementosFprecedido por um elementoE.$('h1 ~ ul'); // get <ul id="list" class="list-class"> -  
E,F,G: elementosE,FeG.$('h1,ul'); // get <h1> and <ul> -  
E[attr]: elementosEque possuam o atributoattr.$(':checkbox[checked]'); // get <input type="checkbox" id="checkbox" /> -  
E[attr^=value]: elementosEque possuam um atributoattrcujo valor inicie-se porvalue.$('[id^=empty]'); // get <div id="empty-div"></div> -  
E[attr$=value]: elementosEque possuam um atributoattrcujo valor termine comvalue.$('[id$=div]'); // get <div id="empty-div"></div> -  
E[attr*=value]: elementosEque possuam um atributoattrcujo valor contenhavalue.$('dd[class*=o]'); // get <dd class="color"> and <dd class="word"> -  
E[attr=value]: elementos cujo atributoattrtenham valor igual avalue.$('dd[class=word]'); // get <dd class="word"> 
Adicionados pelo jQuery
-  
:even: todos os elementos de índice par. Os índices se iniciam em zero.$('option:even'); // get <option value="1"> and <option value="3"> -  
:odd: todos os elementos de índice ímpar.$('option:odd'); // get <option value="2"> -  
:eq(N)e:nth(N): seleciona o elemento de índiceN.$('option:eq(0)'); // get <option value="1"> $('option:nth(1)'; // get <option value="2"> -  
:gt(N): seleciona os elementos cujo índice sejam maior queN.$('li:gt(1)'); // get <li>Item 3</li> -  
:lt(N): seleciona os elementos cujo índice seja menores queN.$('li:lt(1)'); // get <li>Item 1</li> -  
:first: equivalente a:eq(0).$('li:first'); // get <li>Item 1</li> -  
:last: seleciona o último elemento.$('li:last'); // get <li>Item 3</li> -  
:parent: seleciona os elementos que têm filhos (incluindo textos).$('h1:parent'); // get <h1>jQuery Selectors</h1> -  
:contains('text'): seleciona os elementos que têm o texto especificado.$('li:contains("Item 1")'); // get <li>Item 1</li> -  
:visible: seleciona todos os elementos visíveis (não inclui elementos de formuláriohidden).$('h2:visible'); // get <h2>This is a visible H2</h2> -  
:hidden: seleciona campos de formuláriohiddene elementos não-visíveis.$('h2:hidden'); // get <h2 style="display: none;">This is a hidden H2</h2> 
Formulários
O jQuery fornece alguns atalhos para se trabalhar com campos de formulário, evitando que você tenha que usar um seletor de atributo (input[type=radio], por exemplo). Veja como é simples:
-  
:input: seleciona qualquer tipo de campo de formulário (input, button, textarea, select). -  
:text: seleciona campos comtype="text". -  
:password: seleciona campos comtype="password". -  
:radio: seleciona campos comtype="radio". -  
:checkbox: seleciona campos comtype="checkbox". -  
:file: seleciona campos comtype="file". -  
:submit: seleciona campos comtype="submit". -  
:image: seleciona campos comtype="image". -  
:reset: seleciona campos comtype="reset". -  
:button: seleciona campos comtype="button"ou<button></button>. 
Exemplos práticos
Agora você conhece os seletores do jQuery, veja alguns exemplos mostrando como usar este framework.
- Executando códigos no após o carregamento da página (onload) - ready.html
 - Zebrar uma tabela, adicionando uma classe de CSS - zebra-table.html
 - Adicionar um evento 
onmouseovernas linhas de uma tabela, alterando a cor de fundo - table-row.html - Iterar em uma lista de elementos retornados - iteration.html
 - Mover itens de uma lista para outra - list-items.html
 - Carregar HTML em um elemento - html-content.html
 - Carregar dados em formato JSON - json-content.html
 - Exibir/Esconder elementos - show-hide.html
 
O jQuery possui uma série de outras funcionalidades que não foram citadas aqui. Para mais informações, você deve acessar a documentação do projeto. Ela também está disponível em um formato muito fácil de vsualizar em Visual jQuery. Vale a pena conferir!
E se você tem dúvidas em usar ou não o jQuery em seu próximo projeto, não se preocupe. Em relação ao Javascript, será a melhor escolha que você poderia ter feito!