Eu quero mudar a classe de uma tag td, dada a identificação da tag td:
<td id="td_id" class="change_me"> ...
Quero poder fazer isso enquanto estiver dentro do evento click de algum outro objeto dom. Como pego o ID do td e altero sua classe?
Você pode definir a classe (independentemente do que era ) usando .attr()
, desta forma:
$("#td_id").attr('class', 'newClass');
Se você deseja adicionar uma classe, use o .addclass()
seguinte:
$("#td_id").addClass('newClass');
Ou uma maneira curta de trocar de classe usando .toggleClass()
:
$("#td_id").toggleClass('change_me newClass');
Aqui está a lista completa dos métodos do jQuery especificamente para o class
atributo .
var $td = $(this).parents('td:first')
] e obtenha seu id [var id = $td.attr('id');
] e também a classe [var class = $td.attr('class');
] porque ele deseja que um elemento de clique dentro do TD o ative.closest('td')
em vez de.parents('td:first')
:)I want to be able to do this while inside the click event of some other dom object. How do I grab the td's id and change its class?
- Talvez eu estou lendo errado, talvez ele quer dizer usar o id do td para alterar a classe ...<td>
em questão :)change_me
peça é opcional se você usartoggleClass()
Eu acho que você está procurando por isso:
fonte
Eu acho que ele quer substituir um nome de classe.
Algo assim funcionaria:
de http://monstertut.com/2012/06/use-jquery-to-change-css-class/
fonte
Você pode fazer isso:
$("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class');
Ou você pode fazer issofonte
Você pode conferir addClass ou toggleClass
fonte
Então, você deseja alterá-lo QUANDO clicada ... deixe-me passar por todo o processo. Vamos supor que o seu "Objeto DOM externo" seja uma entrada, como uma seleção:
Vamos começar com este HTML:
Algum CSS muito básico:
E configure um evento jQuery:
Agora, sempre que você seleciona algo do select, ele encontra automaticamente uma célula com o texto correspondente, permitindo subverter todo o processo baseado em id. Obviamente, se você quiser fazer dessa maneira, poderá modificar facilmente o script para usar IDs em vez de valores dizendo
e certifique-se de adicionar os IDs adequadamente. Espero que isto ajude!
fonte
EDITAR:
Se você está dizendo que está mudando de um elemento aninhado , não precisa do ID. Você pode fazer isso:
Resposta original:
Outra opção é:
fonte
<td>
, embora ele possa ser, re-ler atentamente :)No caso de você já ter uma classe e precisar alternar entre classes, em vez de adicionar uma classe, é possível encadear eventos de alternância:
fonte
fonte
esse método funciona bem para mim
fonte
alterar classe usando jquery
tente isso
você também pode definir qualquer atributo usando esta consulta
fonte
É melhor eu usar o .prop para alterar o className e funcionou perfeitamente:
para esta linha de código, basta alterar o nome de newClass e, é claro, o ID do elemento, no próximo exemplo: idelementinyourpage
A propósito, quando você deseja pesquisar qual estilo é aplicado a qualquer elemento, basta clicar em F12 no seu navegador quando sua página é exibida e selecionar na guia do DOM Explorer o elemento que deseja ver. Em Estilos, agora você pode ver quais estilos são aplicados ao seu elemento e de qual classe sua leitura.
fonte