這是最好的隱藏通過CSS類的元素。如果你這樣做,你可以任何你想要的方式隱藏它。隨着display:none
,position: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>
不行,我得在PHP中環和我有更多的一個有這個類,我需要使用選擇。 –
純粹的代碼寫入請求是關於堆棧溢出的話題 - 我們期望 這裏的問題與*特定的*編程問題有關 - 但我們 會很高興地幫助你自己編寫它!告訴我們 [你試過的東西](https://stackoverflow.com/help/how-to-ask),以及你卡在哪裏。 這也將幫助我們更好地回答你的問題。 – glennsl