2013-04-04 102 views
1

我想改变一个标签的风格使用类onclick(基本上我想改变类)。 这是我的HTML代码:改变风格onclick

<div class="menutext"><a href="#" onclick="javascript:removeClass('menutext').addClass('menutext2');" class="scroll">Feedback</a></div> 

我不知道什么是错的,为什么它不工作! 此外,我想使用JQUERY使这个代码,如果不可能与JavaScript。

+0

['addClass'](http://api.jquery.com/addClass/)和['removeClass']( http://api.jquery.com/removeClass/)是jQuery方法。 – 2013-04-04 12:36:12

回答

4

调用click事件是更好的内联的JavaScript ...可读性和易于调试......

试试这个

HTML

<div class="menutext"><a href="#" class="scroll">Feedback</a></div> 

jQuery的

$('.menutext a').click(function(e){ 
    e.preventDefault(); //to prevent the default behaviour of <a> 
    $(this).parent().removeClass('menutext').addClass('menutext2'); 
     //parent() because i think you want to change the class of the div ... 
}); 
+0

如果你想继续改变每次点击的风格,你可以使用'.toggleClass('menutext')。toggleClass('menutext2')'。 – Patriks 2013-04-04 12:36:13

+0

辉煌的代码,非常感谢你! – 2013-04-04 12:53:41

+0

欢迎...很高兴它帮助...反正你应该永远接受的职位作为答案,如果它帮助你... :) ..快乐编码 – bipen 2013-04-04 13:13:34

1

您没有在onclick事件中写入jquery选择器。

<div class="menutext"> 
    <a href="#" onclick="javascript:$(this).removeClass('menutext').addClass('menutext2');" class="scroll">Feedback</a> 
</div> 
+0

伟大的代码,谢谢 – 2013-04-04 12:52:37

1

This作品:

<div class="menutext"><a href="#" onclick="$(this).parent().removeClass('menutext').addClass('menutext2');" class="scroll">Feedback</a></div> 
+0

非常感谢 – 2013-04-04 12:51:39

0

尝试这种使用jQuery并删除onclick属性中的链接也:

$('div.menutext > a').click(function(){ 
    $(this).parent().removeClass('menutext').addClass('menutext2'); 
}); 
1

至于我有什么理解你的问题,这就是你想。 jquery的

$('.childDiv').click(function(){ 
    $(this).parent().find('.childDiv').css('background-color','#ffffff'); 
    $(this).css('background-color','#ff0000'); 
    }); 

HTML

Group 1 
<div id="child1" class="childDiv"> 
    Child 1 
</div> 
<div id="child2" class="childDiv"> 
    Child 2 
</div> 
</div> 
<div id="divParent2" class="parentDiv"> 
Group 2 
<div id="child1" class="childDiv"> 
    Child 1 
</div> 
<div id="child2" class="childDiv"> 
    Child 2 
</div> 
</div> 

CSS

.parentDiv{ 
    border:1px solid black; 
    padding:10px; 
    width: 80px; 
    margin:5px; 
    display:relative; 
} 


.childDiv{ 
border:1px solid blue; 
height: 50px; 
margin:10px; 
}