jQuery é uma biblioteca JavaScript rápida e concisa criada por John Resig em 2006 com um bom lema - Escreva menos, faça mais. jQuery simplifica a passagem de documentos HTML, manipulação de eventos, animação e interações Ajax para um desenvolvimento web rápido. jQuery é um kit de ferramentas JavaScript projetado para simplificar várias tarefas escrevendo menos código.

A seguir está a lista de recursos básicos importantes suportados pelo jQuery -

  • DOM manipulation - O jQuery facilitou a seleção de elementos DOM, percorrê-los e modificar seu conteúdo usando um mecanismo seletor de código aberto para vários navegadores chamado Sizzle.

  • Event handling - O jQuery oferece uma maneira elegante de capturar uma ampla variedade de eventos, como um usuário clicando em um link, sem a necessidade de confundir o próprio código HTML com manipuladores de eventos.

  • AJAX Support - O jQuery ajuda muito a desenvolver um site responsivo e rico em recursos usando a tecnologia AJAX.

  • Animations - O jQuery vem com muitos efeitos de animação integrados que você pode usar em seus sites.

  • Lightweight - O jQuery é uma biblioteca muito leve - cerca de 19 KB de tamanho (Minificado e compactado).

  • Cross Browser Support - O jQuery tem suporte para vários navegadores e funciona bem no IE 6.0+, FF 2.0+, Safari 3.0+, Chrome e Opera 9.0+.

  • Latest Technology - O jQuery suporta seletores CSS3 e sintaxe XPath básica.

Use a função $ (document) .ready (). Tudo dentro dele será carregado assim que o DOM for carregado e antes que o conteúdo da página seja carregado.

JavaScript suporta muito bem o conceito de objeto. Você pode criar um objeto usando o literal de objeto da seguinte maneira -

var emp = {
   name: "Zara",
   age: 10
};

Você pode escrever e ler as propriedades de um objeto usando a notação de ponto da seguinte maneira -

// Getting object properties
emp.name  // ==> Zara
emp.age   // ==> 10

// Setting object properties
emp.name = "Daisy"  // <== Daisy
emp.age  =  20      // <== 20

Você pode definir matrizes usando o literal de matriz da seguinte maneira -

var x = [];
var y = [1, 2, 3, 4, 5];

Uma matriz tem uma propriedade de comprimento que é útil para iteração. Podemos ler os elementos de uma matriz da seguinte maneira -

var x = [1, 2, 3, 4, 5];

for (var i = 0; i < x.length; i++) {
   // Do something with x[i]
}

Uma função nomeada tem um nome quando é definida. Uma função nomeada pode ser definida usando a palavra-chave de função da seguinte forma -

function named(){
   // do some stuff here
}

Uma função em JavaScript pode ser nomeada ou anônima.

Uma função anônima pode ser definida de maneira semelhante a uma função normal, mas não teria nenhum nome.

Sim! Uma função anônima pode ser atribuída a uma variável.

Sim! Uma função anônima pode ser passada como um argumento para outra função.

Argumentos de variáveis ​​JavaScript representam os argumentos passados ​​para uma função.

Usando o operador typeof, podemos obter o tipo de argumento passado para uma função. Por exemplo -

function func(x){
   console.log(typeof x, arguments.length);
}

func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

Usando a propriedade arguments.length, podemos obter o número total de argumentos passados ​​para uma função. Por exemplo -

function func(x){
   console.log(typeof x, arguments.length);
}

func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

O objeto arguments tem uma propriedade callee, que se refere à função na qual você está. Por exemplo -

function func() {
   return arguments.callee; 
}

func();                // ==> func

Palavra-chave famosa do JavaScript, sempre se refere ao contexto atual.

O escopo de uma variável é a região de seu programa na qual ela é definida. A variável JavaScript terá apenas dois escopos.

  • Global Variables - Uma variável global tem escopo global, o que significa que é visível em qualquer lugar em seu código JavaScript.

  • Local Variables- Uma variável local será visível apenas dentro de uma função onde está definida. Os parâmetros da função são sempre locais para essa função.

Uma variável local tem precedência sobre uma variável global com o mesmo nome.

Um retorno de chamada é uma função JavaScript simples passada para algum método como um argumento ou opção. Alguns retornos de chamada são apenas eventos, chamados para dar ao usuário a chance de reagir quando um determinado estado é acionado.

Fechamentos são criados sempre que uma variável que é definida fora do escopo atual é acessada de dentro de algum escopo interno.

O exemplo a seguir mostra como o contador de variável é visível dentro das funções de criação, incremento e impressão, mas não fora delas -

function create() {
   var counter = 0;
	
   return {
      increment: function() {
         counter++;
      },
  
      print: function() {
         console.log(counter);
      }
   }
}

var c = create();
c.increment();
c.print();     // ==> 1

O método charAt () retorna o caractere no índice especificado.

O método concat () retorna o caractere no índice especificado.

O método forEach () chama uma função para cada elemento da matriz.

O método indexOf () retorna o índice dentro do objeto String de chamada da primeira ocorrência do valor especificado, ou -1 se não for encontrado.

O método length () retorna o comprimento da string.

O método pop () remove o último elemento de uma matriz e retorna esse elemento.

O método push () adiciona um ou mais elementos ao final de uma matriz e retorna o novo comprimento da matriz.

O método reverse () inverte a ordem dos elementos de uma matriz - o primeiro se torna o último e o último se torna o primeiro.

O método sort () classifica os elementos de um array.

O método substr () retorna os caracteres em uma string começando no local especificado até o número especificado de caracteres.

O método toLowerCase () retorna o valor da string de chamada convertido em minúsculas.

O método toUpperCase () retorna o valor da string de chamada convertido em maiúsculas.

O método toString () retorna a representação em string do valor do número.

Um jQuery Selector é uma função que faz uso de expressões para encontrar elementos correspondentes de um DOM com base nos critérios fornecidos. Você pode simplesmente dizer que os seletores são usados ​​para selecionar um ou mais elementos HTML usando jQuery. Uma vez que um elemento é selecionado, podemos realizar várias operações nesse elemento selecionado. Os seletores jQuery começam com o cifrão e parênteses - $ ().

A função de fábrica $ () é um sinônimo da função jQuery (). Portanto, no caso de você estar usando qualquer outra biblioteca JavaScript onde $ sign está em conflito com alguma outra coisa, você pode substituir $ sign por nome de jQuery e pode usar a função jQuery () em vez de $ ().

$ ('tag-name') seleciona todos os elementos do tipo tag-name no documento. Por exemplo, $ ('p') seleciona todos os parágrafos <p> no documento.

$ ('# some-id') seleciona o único elemento no documento que possui um ID de some-id.

$ ('. some-class') seleciona todos os elementos no documento que possuem uma classe de alguma classe.

$ ('*') seleciona todos os elementos disponíveis em um DOM.

$ ('E, F, G') seleciona os resultados combinados de todos os seletores especificados E, F ou G, onde os seletores podem ser qualquer seletor jQuery válido.

O método attr () pode ser usado para buscar o valor de um atributo do primeiro elemento no conjunto correspondente.

O método attr (nome, valor) pode ser usado para definir o atributo nomeado em todos os elementos no conjunto agrupado usando o valor passado.

O método addClass (classes) pode ser usado para aplicar folhas de estilo definidas a todos os elementos correspondentes. Você pode especificar várias classes separadas por espaço.

O método removeAttr (nome) pode ser usado para remover um atributo de cada um dos elementos correspondentes.

O método hasClass (class) retorna true se a classe especificada estiver presente em pelo menos um do conjunto de elementos correspondentes.

O método removeClass (class) remove todas ou as classes especificadas do conjunto de elementos correspondentes.

O método toggleClass (class) adiciona a classe especificada se não estiver presente e remove a classe especificada se estiver presente.

O método html () obtém o conteúdo html (innerHTML) do primeiro elemento correspondente.

O método html (val) define o conteúdo html de cada elemento correspondente.

O método text () obtém o conteúdo de texto combinado de todos os elementos correspondentes.

O texto (val) define o conteúdo do texto de todos os elementos correspondentes.

O método val () obtém o valor de entrada do primeiro elemento correspondente.

O método val (val) define o atributo de valor de cada elemento correspondido se for chamado em <input>, mas se for chamado em <select> com o valor <option> passado, a opção passada seria selecionada, se for chamada caixa de seleção ou caixa de rádio, então todas as caixas de seleção e caixa de rádio correspondentes seriam marcadas.

O método de filtro (seletor) pode ser usado para filtrar todos os elementos do conjunto de elementos correspondentes que não correspondem ao (s) seletor (es) especificado (s). O seletor pode ser escrito usando qualquer sintaxe de seletor.

O método eq (índice) reduz o conjunto de elementos correspondentes a um único elemento.

O método is (seletor) verifica a seleção atual contra uma expressão e retorna verdadeiro, se pelo menos um elemento da seleção se ajusta ao seletor fornecido.

O método not (seletor) remove os elementos correspondentes ao seletor especificado do conjunto de elementos correspondentes.

O método de fatia (seletor) seleciona um subconjunto dos elementos correspondentes.

O método add (seletor) adiciona mais elementos, correspondidos pelo seletor fornecido, ao conjunto de elementos correspondidos.

O método andSelf () adiciona a seleção anterior à seleção atual.

O método children ([selector]) obtém um conjunto de elementos contendo todos os filhos imediatos exclusivos de cada um dos conjuntos de elementos correspondentes.

O método mais próximo (seletor) obtém um conjunto de elementos contendo o elemento pai mais próximo que corresponde ao seletor especificado, incluindo o elemento inicial.

O método contents () encontra todos os nós filhos dentro dos elementos correspondentes (incluindo nós de texto), ou o documento de conteúdo, se o elemento for um iframe.

O método end () reverte a operação 'destrutiva' mais recente, alterando o conjunto de elementos correspondentes ao seu estado anterior.

O método find (seletor) procura por elementos descendentes que correspondam aos seletores especificados.

O próximo ([seletor]) obtém um conjunto de elementos contendo os próximos irmãos únicos de cada um dos conjuntos de elementos fornecidos.

O nextAll ([seletor]) encontra todos os elementos irmãos após o elemento atual.

O método offsetParent () retorna uma coleção jQuery com o pai posicionado do primeiro elemento correspondente.

O método pai ([seletor]) obtém o pai direto de um elemento. Se chamado em um conjunto de elementos, parent retorna um conjunto de seus elementos pais diretos exclusivos.

O método parent ([selector]) obtém um conjunto de elementos contendo os ancestrais únicos do conjunto de elementos correspondente (exceto para o elemento raiz).

O método prev ([selector]) obtém um conjunto de elementos contendo os irmãos anteriores exclusivos de cada um dos conjuntos de elementos correspondentes.

O método prevAll ([selector]) encontra todos os elementos irmãos na frente do elemento atual.

O método siblings ([selector]) obtém um conjunto de elementos contendo todos os irmãos exclusivos de cada um dos conjuntos de elementos correspondentes.

O método css (nome) retorna uma propriedade de estilo no primeiro elemento correspondente.

O método css (nome, valor) define uma única propriedade de estilo para um valor em todos os elementos correspondentes.

O método height (val) define a altura CSS de cada elemento correspondido.

O método height () obtém a altura atual calculada, pixel, do primeiro elemento correspondente.

O método innerHeight () obtém a altura interna (exclui a borda e inclui o preenchimento) para o primeiro elemento correspondente.

O método innerWidth () obtém a largura interna (exclui a borda e inclui o preenchimento) para o primeiro elemento correspondente.

O método offset () obtém o deslocamento atual do primeiro elemento correspondente, em pixels, em relação ao documento.

O método offsetParent () retorna uma coleção jQuery com o pai posicionado do primeiro elemento correspondente.

O método outerHeight ([margin]) obtém a altura externa (inclui a borda e o preenchimento por padrão) para o primeiro elemento correspondente.

O método outerWidth ([margin]) obtém a largura externa (inclui a borda e o preenchimento por padrão) para o primeiro elemento correspondente.

O método position () obtém a posição superior e esquerda de um elemento em relação ao seu pai deslocado.

O método width (val) define a largura CSS de cada elemento correspondente.

O método width () obtém a largura atual calculada, pixel, do primeiro elemento correspondente.

O método empty () remove todos os nós filhos do conjunto de elementos correspondentes.

O método remove (expr) remove todos os elementos correspondentes do DOM.

O método preventDefault () do objeto Event impede que o navegador execute a ação padrão.

O método isDefaultPrevented () do objeto Event retorna se event.preventDefault () já foi chamado neste objeto de evento.

O método stopPropagation () do objeto Event interrompe o borbulhamento de um evento para os elementos pai, evitando que qualquer manipulador pai seja notificado sobre o evento.

O método isPropagationStopped () do objeto Event retorna se event.stopPropagation () já foi chamado neste objeto de evento.

O método stopImmediatePropagation () do objeto Event impede que o restante dos manipuladores sejam executados.

O método isImmediatePropagationStopped () do objeto Event retorna se event.stopImmediatePropagation () já foi chamado neste objeto de evento.

A função bind (type, [data], fn) vincula um manipulador a um ou mais eventos (como clique) para cada elemento correspondido. Também pode ligar eventos personalizados.

A função ready (fn) vincula uma função a ser executada sempre que o DOM está pronto para ser percorrido e manipulado.

O método load (url, [data], [callback]) carrega o HTML de um arquivo remoto e o injeta no DOM.

O método ajaxComplete (callback) pode ser usado para registrar um callback a ser executado sempre que uma solicitação AJAX for concluída.