我想在我的網頁中動態地使用jQuery添加和刪除類。這裏; S代碼 -如何動態添加或刪除使用jquery附加到元素的類?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="" content="">
<script type="text/javascript" src="jquery.js"></script>
<style type="text/css">
.sub-inactive{display:none;}
.sub-active{display:!important;}
</style>
<script type="text/javascript">
$(document).ready(function(){
$('.sub').parent().hover(
function(){ $('.sub').removeClass('sub-inactive').addClass('sub-active'); },
function(){ $('.sub').removeClass('sub-active').addClass('sub-inactive'); },
);
});
</script>
</head>
<body>
<div id="container">
<ul class="main">
<li>link1</li>
<li>link2</li>
<li>link3
<ul class="sub sub-inactive">
<li>link 3a</li>
<li>link 3a</li>
<li>link 3a</li>
<li>link 3a</li>
</ul>
</li>
<li>link4</li>
<li>link5</li>
</ul>
</div>
</body>
</html>
基本上,存在連接到一個元素多個類(子活性,在這種情況下的子活動的)。並基於頁面中發生的一些事件,我想動態地改變元素的類狀態。即,例如,如果對於一個元素,現在出現的類是class =「sub sub-active」,我想要使用jquery更改爲class =「sub sub-INACTIVE」....
請讓我知道如何添加/刪除元素的特定類。下面給出的兩行代碼(來自上面的示例)似乎不起作用 -
function(){ $('.sub').removeClass('sub-inactive').addClass('sub-active'); },
function(){ $('.sub').removeClass('sub-active').addClass('sub-inactive'); }
謝謝!
「this」實際是指父元素(在本例中是li link3),還是它指的是'sub'類給出的ul?我試過你的代碼,它隱藏了主菜單li(link3)在懸停時顯示... –
@arun:它總是指你已經附加了事件處理程序的元素。在你的情況下,'.sub'的父項。這就是爲什麼我使用'this'作爲事件處理程序中的jQuery操作的上下文。 (再次嘗試我的代碼,也許你已經嘗試了第一個版本) – Tomalak