Chcę zmienić klasę znacznika td, biorąc pod uwagę identyfikator znacznika td:
<td id="td_id" class="change_me"> ...
Chcę być w stanie to zrobić podczas zdarzenia kliknięcia jakiegoś innego obiektu dom. Jak mogę pobrać identyfikator td i zmienić jego klasę?
var $td = $(this).parents('td:first')
], a następnie pobiera jego identyfikator [var id = $td.attr('id');
], a także klasę [var class = $td.attr('class');
], ponieważ chce, aby element kliknięcia wewnątrz TD go uruchomił.closest('td')
zamiast.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?
- może źle to czytam, może ma na<td>
w pytaniu :)change_me
część jest opcjonalna, jeśli używasztoggleClass()
Myślę, że szukasz tego:
źródło
Myślę, że chce zastąpić nazwę klasy.
Coś takiego działałoby:
od http://monstertut.com/2012/06/use-jquery-to-change-css-class/
źródło
Możesz to zrobić:
$("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class');
lub możesz to zrobićźródło
Możesz sprawdzić addClass lub toggleClass
źródło
Więc chcesz to zmienić, kiedy kliknie ... pozwól mi przejść przez cały proces. Załóżmy, że „Zewnętrzny obiekt DOM” jest danymi wejściowymi, podobnie jak select:
Zacznijmy od tego HTML:
Niektóre bardzo podstawowe CSS:
I skonfiguruj zdarzenie jQuery:
Teraz, za każdym razem, gdy wybierzesz coś z zaznaczenia, automatycznie znajdzie komórkę z pasującym tekstem, co pozwoli ci obalić cały proces oparty na identyfikatorze. Oczywiście, jeśli chcesz to zrobić w ten sposób, możesz łatwo zmodyfikować skrypt, aby używał identyfikatorów zamiast wartości, mówiąc
i upewnij się, że odpowiednio dodałeś identyfikatory. Mam nadzieję że to pomoże!
źródło
EDYTOWAĆ:
Jeśli mówisz, że zmieniasz go z elementu zagnieżdżonego , wcale nie potrzebujesz identyfikatora. Możesz to zrobić zamiast tego:
Oryginalna odpowiedź:
Inną opcją jest:
źródło
<td>
znajdowało się w środku , choć być może, przeczytaj je uważnie :)Jeśli masz już klasę i musisz przełączać się między klasami zamiast dodawać klasę, możesz łańcuchowo przełączać zdarzenia:
źródło
źródło
ta metoda działa dobrze dla mnie
źródło
zmień klasę za pomocą jquery
Spróbuj tego
możesz również ustawić dowolny atrybut za pomocą tego zapytania
źródło
Lepiej używam .prop do zmiany className i działało to idealnie:
dla tego wiersza kodu wystarczy zmienić nazwę newClass i oczywiście identyfikator elementu, w następnym przykładzie: idelementinyourpage
Nawiasem mówiąc, jeśli chcesz wyszukać, który styl jest zastosowany do dowolnego elementu, po prostu kliknij F12 w przeglądarce, gdy wyświetlana jest strona, a następnie wybierz w zakładce DOM Explorer element, który chcesz zobaczyć. W Stylach możesz teraz zobaczyć, jakie style są stosowane do elementu i z jakiej klasy jego czytanie.
źródło