JQuery Change类在Div Clicked最近的“i”中

时间:2016-03-24 12:56:21

标签: javascript jquery

我有一些带有onclick功能的Div,如下所示:

<div onclick="myfunc();">
    <i class="myclass1"></i>
</div>

<div onclick="myfunc();">
    <i class="myclass1"></i>
</div>

<div onclick="myfunc();">
    <i class="myclass1"></i>
</div>

<div onclick="myfunc();">
    <i class="myclass1"></i>
</div>

我想更改Div的“i”中的类我决定点击。

这就是我正在尝试但没有任何改变:

$(this).closest('i').removeClass('myclass1');
$(this).closest('i').addClass('myclass2');

如何修复此问题以便更改类?

2 个答案:

答案 0 :(得分:6)

您应该避免使用内联处理程序,并且需要在.findi div.closest()搜索dom

$('div').on('click',function(){

  $(this).find('i').removeClass('myclass1');
  $(this).find('i').addClass('myclass2');
});

答案 1 :(得分:1)

如果我是你,我会将click事件放在i元素上:

$('.myclass1').click(function(){  
$(this).removeClass('myclass1');
$(this).addClass('myclass2');
 })

$('.myclass2').click(function(){  
$(this).removeClass('myclass2');
$(this).addClass('myclass1');
 })

i html元素实际上用于定义斜体http://www.w3schools.com/tags/tag_i.asp