2017-09-26 74 views
-6

我已經創建了一些潛水,我想要在用戶單擊時<span class="rp-r" style=""><i class="fa fa-reply"></i></span>此文本區域<textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea>隱藏。如何隱藏這個Textarea?

<div class="reply-cm" style="display: block;"> 
 
    <textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea> 
 
    <button onclick="reply(6)" class="btn">Reply</button> 
 
    <div id="reply6"> 
 
     <div class="replyes"> 
 
      <span class="rp-r" style="">Hide</span> 
 
     </div> 
 
    </div> 
 
</div>

+0

不行,我得在PHP中環和我有更多的一個有這個類,我需要使用選擇。 –

+0

純粹的代碼寫入請求是關於堆棧溢出的話題 - 我們期望 這裏的問題與*特定的*編程問題有關 - 但我們 會很高興地幫助你自己編寫它!告訴我們 [你試過的東西](https://stackoverflow.com/help/how-to-ask),以及你卡在哪裏。 這也將幫助我們更好地回答你的問題。 – glennsl

回答

0

採用javascript

<script> 
    function hide_rpr(y) { 

      var x = document.getElementById(y); 

       x.style.display = 'none'; 
     } 
    </script> 

然後

<span class="rp-r" onclick="hide_rpr(<?php echo $idexample ?>)" style="">Hide</span> 
+0

不,我有一個PHP循環,我有更多的人有這個類我需要使用選擇器。 –

+0

分享php代碼 – Adaleni

+0

https://jsfiddle.net/ec7kdLvu/1/ –

0

<div class="reply-cm" style="display: block;"> 
 
    <textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea> 
 
<button onclick="reply(6)" class="btn">Reply</button> 
 
    <div id="reply6"> 
 
      <div class="replyes"> 
 
      <span class="rp-r" style="" onclick="document.getElementById('text6').style.display='none'">Hide</span> 
 
     </div> 
 
    </div> 
 
</div>

0

Demo

document.getElementById('hide').onclick = function hideStuff() { 
    if(document.getElementById('text6').style.display == 'none'){ 
     document.getElementById('text6').style.display = ''; 
     document.getElementById('hide').innerHTML = "Hide"; 
    } else { 
     document.getElementById('text6').style.display = 'none'; 
     document.getElementById('hide').innerHTML = "Show"; 
    } 
} 
0

這是最好的隱藏通過CSS類的元素。如果你這樣做,你可以任何你想要的方式隱藏它。隨着display:noneposition:absolute; left:-10000px;(不推薦),visibility:hidden ...

如果直接操縱內嵌樣式其他答案建議,您的佈局將取決於JavaScript的,這是壞在我看來。我認爲最好是JavaScript處理邏輯和CSS處理樣式。


這與reply-cm類的所有元素代碼搜索,發現裏面他們與js-hide所有元素。然後,它將一個click事件監聽器添加到所有js-hide元素中,在這些元素中它們隱藏其各自的reply-cm元素。

function bindHide(target, trigger) { 
 
    trigger.addEventListener("click", function() { 
 
    target.classList.add("is-hidden"); 
 
    }); 
 
} 
 

 
function bindHideEvents() { 
 
    var replies = document.getElementsByClassName("reply-cm"); 
 

 
    for (var i = 0; i < replies.length; i++) { 
 
    var buttons = replies[i].getElementsByClassName("js-hide"); 
 

 
    for (var i2 = 0; i2 < buttons.length; i2++) { 
 
     bindHide(replies[i], buttons[i]); 
 
    } 
 
    } 
 
} 
 

 
bindHideEvents();
.is-hidden { 
 
    display: none; 
 
}
<div class="reply-cm"> 
 
    <textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea> 
 
    <button onclick="reply(6)" class="btn">Reply</button> 
 
    <div id="reply6"> 
 
     <div class="replyes"> 
 
      <span class="rp-r js-hide">Hide</span> 
 
     </div> 
 
    </div> 
 
</div>

下面是與jQuery一個解決方案:

$(".js-hide").click(function (e) { 
 
    $(this).closest(".reply-cm").addClass("is-hidden"); 
 
});
.is-hidden { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="reply-cm"> 
 
    <textarea id="text6" class="reply" name="reply" placeholder="Type Your Reply Here"></textarea> 
 
    <button onclick="reply(6)" class="btn">Reply</button> 
 
    <div id="reply6"> 
 
     <div class="replyes"> 
 
      <span class="rp-r js-hide">Hide</span> 
 
     </div> 
 
    </div> 
 
</div>