Snažím sa zmeniť triedu <i class="icon-ok">
vnútri a <span></span>
Celá vec je takto:
<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");
});
Viete, ako sa to dá urobiť?
odpovede:
0 pre odpoveď č. 1použitie .Nájsť()
self.find("i").removeClass("icon-ok").addClass("icon-remove");
0 pre odpoveď č. 2
Môžeš použiť Nájsť() alebo deti () od tej doby <i>
sú vaše deti .enable
:
$(".enable").on("click", function() {
var self = $(this);
self.find("i").removeClass("icon-ok").addClass("icon-remove");
});
btw, live
je zastaraná od verzie jQuery 1.7
, Mali by ste používať na () miesto.
0 pre odpoveď č. 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 pre odpoveď č. 4
použitie find()
hľadanie vo vnútri kliknutého prvku ...
$(".enable").live("click", function() {
var self = $(this);
self.find("i").removeClass("icon-ok").addClass("icon-remove");
});
Tiež v závislosti od toho, akú verziu jQuery, ktorú používate, vás môže chcieť on()
namiesto live()
, pretože toto bolo "" zastarané a ja som presvedčený, že bol odstránený v najnovších verziách (predpokladám, že by mohlo dôjsť k delegovaniu, a preto používanie live
v prvom rade sa pozrite na ďalšie informácie ... http://api.jquery.com/on/)