2012-05-26 172 views
4

我正在嘗試爲YouTube創建一個類似的評論系統。當點擊按鈕時,回覆textarea會出現在評論下方,最簡單的方法是什麼?我假設複製textarea並使其display:none爲每個評論是沒有必要的。回覆評論YouTube風格

隨着textarea的

<div class="comment"> 
    <p>Bla bla</p> 
    <a hred="" id="reply">Reply</a> 
    <textarea class="reply"></textarea> 
</div> 

沒有textarea的

<div class="comment"> 
    <p>Bla bla2</p> 
    <a hred="" id="reply">Reply</a> 
</div> 

jQuery的

$('#reply').click(function(){ 

} 
+1

的例子只是使用jQuery – Dani

+0

MEH創建它。在我輸入答案的時候,另外兩個人已經發布了幾乎相同的答案。 – Spudley

+0

@Spudley只是說問題很簡單。 – mrzmyr

回答

3

喜歡的東西

$('#reply').click(function(){ 
    $(this).parent().append($('<textarea>').attr('class','reply')); 
}); 

應該做的工作。

+0

+1首先到達那裏並打我。 – Spudley

+1

只是附加到這個答案。點擊功能需要關閉。將'}'替換爲'});' –

+0

@SivaCharan感謝您通知我。固定! – user2428118

2

的ID都應該是獨一無二的,所以你不應該有多個#reply秒。相反,你可以爲每個類添加一個類。

<div class="comment"> 
    <p>Bla bla</p> 
    <a hred="" class="reply-button">Reply</a> 
</div> 
$('.reply-button').click(function(){ 
    $(this).after($('<textarea>').attr('class','reply-box')); 
}); 
+1

只是附加到這個答案。點擊功能需要關閉。把'}'替換成'});' –

+0

@SivaCharan你說得對,謝謝。 – kba

3

根據@ user1419007答案。

它已經測試你是否已經在評論下有一個textarea。如果是這種情況,它將是發送

$('.reply').click(function(){ 
    if($(this).parent().find('textarea').length < 1) { 
     $(this).parent().append($('<textarea>').attr('class','reply')); 
    } else { 
     alert('Sending: ' + $(this).parent().find('textarea').val()); 
    } 
});​ 

這裏是JSFiddle