2009-10-29 72 views
0

OK,也許標題犯規最好的解釋我嘗試才達到,但如果我能更好地解釋希望有人能幫助我了:使用下面的代碼來選擇jQuery的 - 添加動態類到另一個DIV

林案文進行內<a>並將其添加爲類元素:

$(".nav a").each(function() { 
    var self = $(this); 
    self.addClass(self.text()); 
}); 

因此,例如:

<a class="nav" href="page1.html">Google</a> 
<a class="nav" href="page2.html">Yahoo</a> 
<a class="nav" href="page3.html">Bing</a> 

變爲:

<a class="nav Google" href="page1.html">Google</a> 
<a class="nav Yahoo" href="page2.html">Yahoo</a>  
<a class="nav Bing" href="page3.html">Bing</a> 

進出口使用的代碼另一位找出用戶是哪個頁面目前,無論是谷歌,雅虎或Bing,然後我分配另一個類的「選定」

例如,如果我是在谷歌頁面的<a>類變爲:

<a class="nav Google selected" href="page1.html">Google</a> 

我想進一步擴大這一點,或許可以通過一個例子來解釋最佳:

<a class="nav Google selected" href="page1.html">Google</a> 
<a class="nav Yahoo" href="page2.html">Yahoo</a>  
<a class="nav Bing" href="page3.html">Bing</a> 

<div class="container Google"> 

Lots of content 

</div> 

因此,如上所述,當'Google'有'selected'類時,將其添加到<div class="container">,並且在其他鏈接被點擊時相同。

因此,換句話說,它曾經<a>持有「選擇」前一個類添加到<div class="container">

我知道有很多方法遠不如「哈克」的方式來做到這一點,但我沒有別的選擇,只能做這是因爲我無法編輯頁面的源代碼,所以它必須是基於瀏覽器的解決方案,而不是服務器端。

+0

當你點擊不同的鏈接,你要刪除的「谷歌」類,並添加了「雅虎」類?或者,這不是一個問題,因爲該頁面將重新加載,並且任何動態添加的類將被清除? – 2009-10-29 20:01:12

+0

頁面將重新加載。 – CLiown 2009-10-29 20:04:44

回答

1
$('.nav').click(function(){ 
    $(this).addClass($(this).text()); // I believe you already do this. 
    $('.conatiner').addClass($(this).text()); 
}); 
+0

Perfecto!你讓我的原始代碼更簡單。 – CLiown 2009-10-29 20:04:11

0

您可以將該類添加到這樣的容器:

$('.conatiner').addClass($('a.selected').text()); 
相關問題