更改<span> </span> </i>中<i>的类

时间:2014-02-12 16:41:00

标签: jquery

我正在尝试更改<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');
});

你知道这样做的方法吗?

4 个答案:

答案 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');

this keyword

.find()

.children()

答案 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/