2012-07-05 57 views
0

我試圖通過單擊按鈕向我的HTML中指定的元素添加類。將動態代碼添加到鏈接中指定的元素

HTML:

<div id="servicenext"><a href="#nav2"><p class="four">next</p></a> 

腳本:

$('#servicenext a').click(function(){ 
    $('ul.navigation a').removeClass('active'); 
    $(*the div in the href*).addClass('active'); 
}); 

我希望能有一些代碼的動態。基本上它可以通過將類添加到a href中指定的任何元素來工作。 這是因爲我有相當多的這些,不希望單獨編碼。

編輯:

感謝詹姆斯!那很棒! 但是我不得不道歉,我對自己的要求感到困惑! 什麼實際上,我希望addClass到竟是liul.navigation a

所以,如果我想正確的,我嘗試這樣做:點擊到servicenext按鈕

  • 代碼獲取divhref
  • addClassid被施加到li具有相同href

我猜應該有if else else語句,原諒我,我不是一個真正的程序員。

我想出了亂碼是:

$('#servicenext a').click(function(){ 
    $('ul.navigation a').removeClass('active'); 
    $($(this).attr("href").find($('ul.navigation li a').attr("href"))).addClass('active'); 
}); 
}); 

回答

4

由於href屬性的值已經是一個有效的ID選擇,你可以簡單地使用屬性的值:

$($(this).attr("href")).addClass('active'); 

請注意,您必須獲取實際的屬性值。本機DOM屬性返回實際的URL,而不僅僅是屬性的值。

這是working example