2014-01-19 59 views
5

我對這個琴的工作: http://jsfiddle.net/cED6c/7/ 我想就點擊按鈕上的文字變化,我嘗試使用下面的代碼:更改按鈕文本(顯示/隱藏/顯示)上點擊jQuery的切換

<input type="button" class="reveal" onClick="this.value=this.value=='Show Answer'?'Hide Answer':'Show Answer'" value="Show Answer"> 

但是,這是行不通的。我應該如何實現這一點?任何幫助都會很棒。

+0

爲什麼你顯示你的問題的'input',但使用在您的鏈接演示'button'元素? –

回答

14

您需要添加以下代碼:

http://jsfiddle.net/cED6c/13/

我添加了裝飾功能的原因在你有空間的HTML:

if ($.trim($(this).text()) === 'Show Answer') { 
    $(this).text('Hide Answer'); 
} else { 
    $(this).text('Show Answer');   
} 

您可以在工作中看到它顯示答案後。

+0

我應該改變這個以及$(「a [href ='」+ window.location.hash +「'」「)。parent(」。answerbutton「)。click();在wordpress中不工作,但沒關係在jsfiddle中 – Skotlive

+0

在附加的jsfiddle中,你沒有任何標籤,它應該做什麼? – justtal

+0

好的,你想通過href和location來打開這個問題嗎? – justtal

6

很容易使用jQuery更改文本。

工作示例這裏。 http://jsfiddle.net/vp7Y7/

$('.reveal').click(function() { 
    if ($(this).text() === 'Show Answer') { 
     $(this).text('This is NEW TEXT!!! It Worked!'); 
    } 
    else { 
     $(this).text('Show Answer'); 
    } 
}); 
+1

謝謝,效果真的不錯,但是當我再次點擊它,它不會恢復到顯示答覆文件。 – Skotlive

+0

謝謝,還是我無法得到它:(抱歉太天真了。請看這個小提琴,只有第三個按鈕不工作,而不是前兩個.http://jsfiddle.net/cED6c/10/ – Skotlive

+0

+1 @lostsock thx – Chris22

1

東西容易這樣

$(document).ready(function() { 
    $('a.edit').click(function() { 
     var txt = $(this).text(); 
     txt = (txt !='cancel') ? 'cancel' : 'edit'; 
     $(this).text(txt); 
     $('.editForm').toggle(300); 
    }); 
});