我正在尝试更改<i class="icon-ok">
<span></span>
的类
整个事情是这样的:
<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');
});
你知道这样做的方法吗?
答案 0 :(得分:0)
使用.find()
self.find('i').removeClass('icon-ok').addClass('icon-remove');
答案 1 :(得分:0)
您可以使用find()或children(),因为<i>
是.enable
的孩子:
$('.enable').on('click', function() {
var self = $(this);
self.find('i').removeClass('icon-ok').addClass('icon-remove');
});
顺便说一句,自{jQuery version live
起,1.7
已被弃用。您应该使用 on() 。
答案 2 :(得分:0)
$(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');
答案 3 :(得分:0)
使用find()
在点击的元素内搜索...
$('.enable').live('click', function() {
var self = $(this);
self.find("i").removeClass('icon-ok').addClass('icon-remove');
});
此外,根据您使用的jQuery版本,您可能希望我们on()
代替live()
,因为已弃用,我相信在最新版本中已删除。 (我假设可能涉及授权,因此首先使用live
- 请查看此处了解更多信息...... http://api.jquery.com/on/)