我想用jQuery替换link元素中的类。
例如,在以下代码中,点击链接.myclass
,我想用icon1
更改icon2
:
<a class="myclass" href="#"><i class="icon icon1"></i></a>
我不知道怎样才能找到并触及班级icon1。 我尝试这个并不起作用:
$('.myclass').click(function(){
$(this).html().removeClass('icon1').addClass('icon2');
});
答案 0 :(得分:3)
$('.myclass').click(function(){
$(this).find('.icon1').removeClass('icon1').addClass('icon2');
});
答案 1 :(得分:3)
应该有
$('.myclass').click(function(){
$(this).find('.icon1').removeClass('icon1').addClass('icon2');
});
您必须引用要更改的类的元素。
答案 2 :(得分:2)
<强> Demo 强>
使用此,
$('.myclass').click(function(e){
e.preventDefault();
$('i',this).removeClass('icon1').addClass('icon2');
//or
$('.icon1',this).removeClass('icon1').addClass('icon2');
});
或 .find()
$('.myclass').click(function(e){
e.preventDefault();
$(this).find('.icon1').removeClass('icon1').addClass('icon2');
});
注意:
下次点击链接时,$('.icon1')
无效。因此,请尝试使用$('i')
或$('.icon')
答案 3 :(得分:2)
由于.icon1
是当前元素的子元素,因此您必须在当前元素上使用.find()
/ .children()
来查找它。
尝试,
$('.myclass').click(function(){
$(this).find('.icon1').removeClass('icon1').addClass('icon2');
});
答案 4 :(得分:2)
看这里:jsbin
$('.myclass').click(function(){
$(this).children().removeClass('icon1').addClass('icon2');
});
答案 5 :(得分:1)
$('.myclass').click(function(e){
e.preventDefault();
$(this).find('i').removeClass('icon1').addClass('icon2');
});