SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
29.11.2024

Adicionando uma Classe a um Elemento com Base no Valor de um Atributo de Dados em jQuery

Resposta Rápida

Para selecionar elementos com um valor específico de atributo de dados no jQuery, você pode usar a seguinte sintaxe: $('seletor'). Por exemplo, para encontrar elementos onde o data-id é igual a "42":

$('[data-id="42"]').css('color', 'red');

Como resultado, todos os elementos com um data-id de "42" terão sua cor alterada para vermelho. Substitua 'id' e '42' pelo atributo e valor que você está interessado.

Como o .find() Ajuda em Pesquisas Complexas

O método .find() em jQuery é adequado para percorrer elementos filhos de um componente específico. Suas características incluem:

  • Performance: Com uma seleção limitada, as operações com objetos jQuery ocorrem em alta velocidade.
  • Flexibilidade: A capacidade de usar variáveis no seletor através de literais de template elimina o incômodo das aspas.

Aqui está um exemplo de uso do .find() para gerenciamento dinâmico de elementos com vários atributos de dados:

let valor = "0";
$('.slider').find(`[data-slide="${valor}"]`).addClass('active');

O código acima permite um gerenciamento flexível de elementos ao alterar os valores das variáveis.

Aspectos dos Literais de Template

Os literais de template aumentam a legibilidade e estabilidade do código, permitindo que você incorpore variáveis diretamente nos seletores. Isso torna o código mais flexível e simplifica sua reutilização.

let categoria = "ação";
$(`.filmes[data-genero="${categoria}"]`).addClass('destaque');

Neste caso, a variável categoria permite a mudança dinâmica dos gêneros dos filmes sem exigir uma reescrita completa do seletor.

Visualização

Imagine que você está procurando um livro de um gênero específico em uma biblioteca usando jQuery:

$("livro[data-genero='mistério']");

Essa consulta é semelhante a pedir a um bibliotecário por um livro de um certo gênero. Em pouco tempo, você tem livros do gênero "mistério" bem na sua frente.

Filtrando por Múltiplos Parâmetros

Para filtrar por múltiplos atributos de dados, combine seletores:

$("[data-id='42'][data-status='ativo']").css('background-color', 'green');

Isso selecionará elementos com data-id igual a "42" e data-status igual a "ativo", alterando sua cor de fundo para verde.

Retornando ao Elemento Pai

Para incluir os elementos originais na seleção, use o método .addBack():

$('.pai').find('.filho').addBack().addClass('destaque');

Com este código, tanto o elemento pai quanto todos os seus descendentes receberão a classe .destaque.

Recursos Úteis

  1. .find() | Documentação Oficial do jQuery — um guia detalhado sobre o uso do .find() para manipulação do DOM.
  2. Usando Atributos de Dados - Guia de Desenvolvimento Web | MDN — material educativo sobre a aplicação de atributos de dados em HTML.
  3. Seletores jQuery — como usar seletores jQuery para busca eficiente de elementos.
  4. Seletor jQuery [atributo=valor] — uso avançado de seletores para selecionar pelo valor de atributo no jQuery.
  5. Seletor de Atributo [nome="valor"] | Documentação Oficial do jQuery — referência para seleção de elementos com base em seus atributos.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!