Javascript JQuery在最近的“中更改类”;我";该Div的
我有几个带有onclick函数的Div,如下所示:Javascript JQuery在最近的“中更改类”;我";该Div的,javascript,jquery,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="m
<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
.closest()
搜索dom
$('div').on('click',function(){
$(this).find('i').removeClass('myclass1');
$(this).find('i').addClass('myclass2');
});
您应该避免使用内联处理程序,并且需要。在div
中查找i
.closest()
搜索dom
$('div').on('click',function(){
$(this).find('i').removeClass('myclass1');
$(this).find('i').addClass('myclass2');
});
如果我是你,我会将click事件放在I元素上:
$('.myclass1').click(function(){
$(this).removeClass('myclass1');
$(this).addClass('myclass2');
})
$('.myclass2').click(function(){
$(this).removeClass('myclass2');
$(this).addClass('myclass1');
})
i html元素实际上是用来定义斜体的如果我是你,我会将click事件放在i元素上:
$('.myclass1').click(function(){
$(this).removeClass('myclass1');
$(this).addClass('myclass2');
})
$('.myclass2').click(function(){
$(this).removeClass('myclass2');
$(this).addClass('myclass1');
})
i html元素实际上是用来定义斜体的注意,您可以将其进一步简化为$(this).find('i').toggleClass('myclass1 myclass2')
这一个正在更改所有的div类,而不仅仅是我单击的div类请看这里:最好避免使用内联处理程序,并添加那些您想要更改某些类的div,但如果不这样做,您可以将其插入myfunc()
注意,您可以将其进一步简化为$(This)。查找('I')。切换类('myclass1 myclass2');
这一个正在更改所有的div类,而不仅仅是我单击的div类请看这里:避免使用内联处理程序并添加那些div是一个很好的做法,如果您想更改某些类,但如果不想,您可以将其插入myfunc()
是的,我知道,但它也大量用于图标:)是的,我知道,但它也高度用于图标:)