2015-02-11 88 views
1

如何在點擊我的H4元素時將文本值從'close'更改爲'open',反之亦然?用jQuery點擊更改文本值

http://jsfiddle.net/8snk7ev6/

$(document).ready(function($) { 
    $('#accordion').find('.accordion-toggle').click(function(){ 

     //Expand or collapse this panel 
     $(this).next().slideToggle('fast', function(){ 
      var status = $(this).is(':hidden') ? 'close' : 'open'; 
      $(this).next('.accordion-status').html(status); 
     }); 

    }); 
}); 

回答

1

根據您當前的DOM結構,選擇應該是:

$(this).prev('h4').find('.accordion-status').html(status); 

因爲this.accordion-content DIV和DIV你正在尋找的accordion-status實際上是之前吧。此外,它還包含h4元素。

請參見下面的代碼Fiddle

+1

@michaelmcgurk:歡迎StackOverflow上。在這個QA網站上,當答案被實現時,我們不會在問題標題上附加「(已解決)」。相反,我們通過點擊該答案左上角的複選框來標記正確的答案。如果你自己想出答案,然後張貼你自己的答案,給它一些時間,如果沒有人有更好的答案(你的判斷),你可以在48小時的等待期後接受你自己的答案。 – 2015-02-11 07:48:05

+1

@CerlinBoss「會員5個月」 - 我覺得我應該歡迎你來到SO ;-)道歉,真實世界阻礙了它的發展,有時候也是如此。如果你看看我以前的問題,你會看到我總是給出正確的答案並且表示感謝。我從不追加「(已解決)」問題標題。注意:) – michaelmcgurk 2015-02-11 10:09:56

+1

該評論的目的是爲了確保那些付出努力的人得到它的信用。也是一個超過3年的成員沒有任何理由。如果你真的進入了stackoverflow,那麼你應該在任何人指出它之前接受答案。僅供參考我很高興你接受了幫助你的答案。 :) – 2015-02-11 10:15:19

0

支票或去更新小提琴jsfiddle

$(document).ready(function($) { 
    var OBJ = ''; 
    $('#accordion').find('.accordion-toggle').click(function(){ 
     OBJ = $(this); 
     //Expand or collapse this panel 
     $(this).next().slideToggle('fast', function(){ 
      var status = $(this).is(':hidden') ? 'close' : 'open'; 
      OBJ.find('div.accordion-status').html(status); 
     }); 

    }); 
});