Próbuję zmienić klasę <i class="icon-ok">
wewnątrz a <span></span>
Cała sprawa wygląda tak:
<span class="enable"> Some Text
<i class="icon-ok"> //This is all there is in here. Just one <i> and nothing else
</span>
JQuery:
$(".enable").live("click", function() {
var self = $(this);
self./ how do I tell it to look for the i/.removeClass("icon-ok").addClass("icon-remove");
});
Czy znasz sposób, w jaki można to zrobić?
Odpowiedzi:
0 dla odpowiedzi № 1Posługiwać się .odnaleźć()
self.find("i").removeClass("icon-ok").addClass("icon-remove");
0 dla odpowiedzi nr 2
Możesz użyć odnaleźć() lub dzieci() od <i>
to dzieci twojego .enable
:
$(".enable").on("click", function() {
var self = $(this);
self.find("i").removeClass("icon-ok").addClass("icon-remove");
});
Btw, live
jest przestarzały jak w wersji jQuery 1.7
. Powinieneś użyć na() zamiast.
0 dla odpowiedzi № 3
$(this).find(".icon-ok").removeClass("icon-ok").addClass("icon-remove");
$(this).find("i").removeClass("icon-ok").addClass("icon-remove");
$(this).children("i").removeClass("icon-ok").addClass("icon-remove");
$(this).children(".icon-ok").removeClass("icon-ok").addClass("icon-remove");
0 dla odpowiedzi nr 4
Posługiwać się find()
przeszukiwać kliknięty element ...
$(".enable").live("click", function() {
var self = $(this);
self.find("i").removeClass("icon-ok").addClass("icon-remove");
});
Ponadto, w zależności od używanej wersji jQuery, możesz chcieć on()
zamiast live()
, ponieważ „zostało to uznane za przestarzałe i wierzę, że usunięto je w najnowszych wersjach.” live
po pierwsze - zajrzyj tutaj, aby uzyskać więcej informacji ... http://api.jquery.com/on/)