2011-12-27 22 views
0

jQuery代碼:多個類只需要選擇一個點擊

$(".tog").toggle(
function() { 
    $(".tog span").removeClass('stog'); 
    $(".tog span").addClass('stogm'); 
    $(this).next().slideDown('fast'); 
}, 
function() { 
    $(".tog span").removeClass('stogm'); 
    $(".tog span").addClass('stog'); 
    $(this).next().slideUp('fast'); 
} 
); 

我有幾個side_cat_toggle類,但我想要的,我只點擊了採取上述變化。目前,每個類別的side_cat_toggle正在改變,而不是我點擊的那一類。

我該怎麼做?

感謝

回答

1
$(".tog").toggle(
function() { 
    $("span", this).removeClass('stog').addClass("stogm"); 
    $(this).next().slideDown("fast"); 
}, 
function() { 
    $("span", this).addClass('stog').removeClass("stogm"); 
    $(this).next().slideUp("fast"); 
} 
); 
+0

輝煌。謝謝 – cicakman

+0

你好,marko,你能解釋'this'屬性在$(「span」,this)上做了什麼嗎?我認爲'這與上述.tog相同? – cicakman

+0

嗨@cicakman對於遲到的回覆感到抱歉。第二個參數是選擇器的「上下文」,這意味着它只會搜索被點擊的'.tog'下的'span'元素。 – Marko

0
$(".tog").click(
    var $that = $this; 
    $this.toggle(... $that ...)); 

使用$認識到,獲得$

0

試試這個( 「TOG」):

$(".tog").click(function() { 

    $(this).find('span').removeClass('stog').addClass('stogm'); 

    $(this).toggle(
     function() { 
      $(this).next().slideDown('fast'); 
     }, 
     function() { 
      $(this).next().slideUp('fast'); 
     } 
    ); 
}); 
相關問題