2014-11-20 30 views
0

我有一些問題有以下

,如果我在循環中的CCS類不是通過jQuery腳本刪除添加一個額外的列。如果我刪除它的作品..

<?php foreach ($option['option_value'] as $option_value) { ?> 
    <td> 
     <a class="option-detail"> <img src="image"></a> 
    </td> 
<?php } ?> 

我做錯了什麼?

jQuery代碼

$(document).ready(function(){ 
     $("a.option, a.option-detail").click(function(event){ 
     $this = $(this); 
     $this.parent().find('a.option, a.option-detail').removeClass('option-active'); 
     $this.addClass('option-active'); 

回答

1

這是因爲parent是不足以讓您達到您需要修改節點的頂層。

I.E.你只是移動到tr,其中包含td,而不是table

沒有更多的代碼(更多的HTML代)很難確定。

我最好的猜測是你實際上需要找到closest表而不是parent

E.g.

$this.closest('table').find('a.option, a.option-detail').removeClass('option-active'); 

This fiddle give you an example of what I'm suggesting...

1

你爲什麼要承擔「a.option」,然後走出去家長和再次找到錨你刪除和添加前級點擊事件的一部分?那豈不是更容易做到以下幾點:

$(document).on('click', 'a.option, a.option-detail', function() { 
    $this = $(this); 
    $('.option-active').removeClass('option-active'); 
    $this.addClass('option-active'); 
} 
+0

寫的問題:( – cappy39 2014-11-20 16:53:31

+0

@ cappy39無後顧之憂,更新了答案,希望對您的作品出來的時候糾正了HTML ..是一個類型。 – Gjohn 2014-11-20 17:02:10

+0

感謝您的答覆,我會與循環中的圖像有鋸齒鏈接,當選擇其他圖像時,css樣式應該從活動的(前一個)中刪除並設置爲我點擊的樣式。使用toggleClass刪除樣式,當我再次點擊它時,不是真正想要的 – cappy39 2014-11-20 17:03:48

1

使用<a class="option-detail"><img src="image"></a>(之前刪除a.

,因爲與此:

<a class="a.option-detail" <img src="image"></a>類的名字將是.a.option-detail

和修復您的htm正在關閉>

+0

在我的問題中糾正了這個問題..到在複製代碼時做了一個類型 – cappy39 2014-11-20 16:50:08