2013-04-04 158 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; 
}