使用jQuery更改元素类

时间:2014-06-24 19:34:55

标签: jquery

我不确定为什么这不起作用,也许有人可以提供帮助。我得到了这段代码:

<dd class="accordion-navigation">
  <a href="#panel3" class="switch"><i class="plus"></i> Title</a>
  <div id="panel3" class="content">
    ...
  </div>
</dd>

当我点击<a>时,我希望i-element的类从'plus'切换到'minus'。这是我到目前为止的代码:

$('dd.accordion-navigation').on('click', 'a.switch' function(){
  $(this).find(i).removeClass('plus').addClass('minus');
});

不幸的是它不起作用。如果我能得到一个提示,我会非常高兴。

提前致谢 弗洛里安

2 个答案:

答案 0 :(得分:3)

将选择器从变量更改为选择器。

$(this).find('i').removeClass('plus').addClass('minus');

这样可行。

在上面的代码中,您拥有i,在此上下文中它将是一个变量。但是你没有任何变量来获取数据或价值。因此,您需要传递一个String来检测HTML元素。在这种情况下,'i'是有效的。否则,您可以使用字符串i元素的值创建单独的变量。喜欢这个

var i = 'i';

...然后你可以使用它。否则,你必须坚持这些惯例。

答案 1 :(得分:1)

除非您有变量i = "i";,否则无法找到任何内容。

$('dd.accordion-navigation').on('click', 'a.switch' function(){
  $(this).find('i').removeClass('plus').addClass('minus');
});